summaryrefslogtreecommitdiff
path: root/src/Fl_Menu.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Fl_Menu.cxx')
-rw-r--r--src/Fl_Menu.cxx7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/Fl_Menu.cxx b/src/Fl_Menu.cxx
index 3a3e70708..115e69fe7 100644
--- a/src/Fl_Menu.cxx
+++ b/src/Fl_Menu.cxx
@@ -115,6 +115,7 @@ protected:
Fl_Menu_Window(X, Y, W, H, 0) {
menu = m;
set_menu_window();
+ Fl_Window_Driver::driver(this)->fltk_menu_window = true;
end();
set_modal();
clear_border();
@@ -183,13 +184,13 @@ Fl_Window *Fl_Window_Driver::menu_parent(int *display_height) {
}
static menuwindow *to_menuwindow(Fl_Window *win) {
- if (!win->menu_window()) return NULL;
+ if (!Fl_Window_Driver::driver(win)->fltk_menu_window) return false;
return ((window_with_items*)win)->as_menuwindow();
}
/** Returns whether win is a menutitle window */
bool Fl_Window_Driver::is_menutitle(Fl_Window *win) {
- if (!win->menu_window()) return false;
+ if (!Fl_Window_Driver::driver(win)->fltk_menu_window) return false;
return (((window_with_items*)win)->as_menuwindow() == NULL);
}
@@ -233,7 +234,7 @@ int *Fl_Window_Driver::menu_offset_y(Fl_Window *win) {
/** Returns whether win is a non-menubar menutitle */
bool Fl_Window_Driver::is_floating_title(Fl_Window *win) {
- if (!win->menu_window()) return false;
+ if (!Fl_Window_Driver::driver(win)->fltk_menu_window) return false;
Fl_Window *mwin = ((window_with_items*)win)->as_menuwindow();
return !mwin && !((menutitle*)win)->in_menubar;
}