summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-01-02 21:01:13 +0000
committerrubidium <rubidium@openttd.org>2009-01-02 21:01:13 +0000
commit5b3a2ed2abb6bb6c29ab91c0a733ce9d970b8a3e (patch)
treef6233a3ac26f3ff8d8c2ee669a02349d66c8e407
parentb3f2f40db7ffe7ff0b89a77d232b32302a38cd8c (diff)
downloadopenttd-5b3a2ed2abb6bb6c29ab91c0a733ce9d970b8a3e.tar.xz
(svn r14786) -Fix: road/rail/water/airport toolbar opened over terraform toolbar when toolbar linking is turned on.
-rw-r--r--src/terraform_gui.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/terraform_gui.cpp b/src/terraform_gui.cpp
index 3aa8e38d3..74760f791 100644
--- a/src/terraform_gui.cpp
+++ b/src/terraform_gui.cpp
@@ -10,6 +10,7 @@
#include "company_base.h"
#include "gui.h"
#include "window_gui.h"
+#include "window_func.h"
#include "viewport_func.h"
#include "gfx_func.h"
#include "command_func.h"
@@ -328,16 +329,24 @@ static const WindowDesc _terraform_desc = {
void ShowTerraformToolbar(Window *link)
{
if (!IsValidCompanyID(_current_company)) return;
+
Window *w = AllocateWindowDescFront<TerraformToolbarWindow>(&_terraform_desc, 0);
- if (w != NULL && link != NULL) {
- /* Align the terraform toolbar under the main toolbar and put the linked
- * toolbar to left of it
- */
+ if (link == NULL) return;
+
+ if (w == NULL) {
+ w = FindWindowById(WC_SCEN_LAND_GEN, 0);
+ } else {
w->top = 22;
w->SetDirty();
- link->left = w->left - link->width;
- link->SetDirty();
}
+ if (w == NULL) return;
+
+ /* Align the terraform toolbar under the main toolbar and put the linked
+ * toolbar to left of it
+ */
+ link->top = w->top;
+ link->left = w->left - link->width;
+ link->SetDirty();
}
static byte _terraform_size = 1;