From 45422a7d1952eb4094c287373afc7f7a1a23ae4a Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Mon, 22 Jan 2024 09:52:35 +0100 Subject: Add popup_window() virtual member functions to Fl_Window_Driver --- src/Fl_Menu.cxx | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'src/Fl_Menu.cxx') diff --git a/src/Fl_Menu.cxx b/src/Fl_Menu.cxx index 312d908e6..4aae40ecf 100644 --- a/src/Fl_Menu.cxx +++ b/src/Fl_Menu.cxx @@ -115,7 +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; + Fl_Window_Driver::driver(this)->popup_window(true); end(); set_modal(); clear_border(); @@ -184,16 +184,10 @@ Fl_Window *Fl_Window_Driver::menu_parent(int *display_height) { } static menuwindow *to_menuwindow(Fl_Window *win) { - if (!Fl_Window_Driver::driver(win)->fltk_menu_window) return NULL; + if (!Fl_Window_Driver::driver(win)->popup_window() || !win->menu_window()) return NULL; return ((window_with_items*)win)->as_menuwindow(); } -/** Returns whether win is a menutitle window */ -bool Fl_Window_Driver::is_menutitle(Fl_Window *win) { - if (!Fl_Window_Driver::driver(win)->fltk_menu_window) return false; - return (((window_with_items*)win)->as_menuwindow() == NULL); -} - /** Accessor to the "origin" member variable of class menuwindow. Variable origin is not NULL when 2 menuwindow's occur, one being a submenu of the other; it links the menuwindow at right to the one at left. */ @@ -234,7 +228,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 (!Fl_Window_Driver::driver(win)->fltk_menu_window) return false; + if (!Fl_Window_Driver::driver(win)->popup_window() || !win->menu_window()) return false; Fl_Window *mwin = ((window_with_items*)win)->as_menuwindow(); return !mwin && !((menutitle*)win)->in_menubar; } -- cgit v1.2.3