diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -593,9 +593,9 @@ public: * Add a fixed distance 20 to make it less cluttered. */ const Window *w = FindWindowById(WC_MAIN_TOOLBAR, 0); - int scr_top = w->top + w->height + 20; + int scr_top = ((w != NULL) ? w->top + w->height : 0) + 20; w = FindWindowById(WC_STATUS_BAR, 0); - int scr_bot = w->top - 20; + int scr_bot = ((w != NULL) ? w->top : _screen.height) - 20; Point pt = RemapCoords2(this->position.x, this->position.y); const ViewPort *vp = FindWindowById(WC_MAIN_WINDOW, 0)->viewport; @@ -810,9 +810,9 @@ struct TooltipsWindow : public Window * Add a fixed distance 2 so the tooltip floats free from both bars. */ const Window *w = FindWindowById(WC_MAIN_TOOLBAR, 0); - int scr_top = w->top + w->height + 2; + int scr_top = ((w != NULL) ? w->top + w->height : 0) + 2; w = FindWindowById(WC_STATUS_BAR, 0); - int scr_bot = w->top - 2; + int scr_bot = ((w != NULL) ? w->top : _screen.height) - 2; Point pt;