summaryrefslogtreecommitdiff
path: root/fluid/Fl_Menu_Type.h
diff options
context:
space:
mode:
authorMatthias Melcher <github@matthiasm.com>2024-07-27 20:22:50 +0200
committerMatthias Melcher <github@matthiasm.com>2024-07-27 20:22:50 +0200
commitd265009b66cbc69ca6edf502dc23199a01d62220 (patch)
tree85afd145bfd05c152371ea00388bf71f745ab1fe /fluid/Fl_Menu_Type.h
parent8cffbd694106a2371d297caa008f2290185fed2f (diff)
FLUID: fixes crash bug in Fl_Sys_Men_Bar inside a Class. #977
Diffstat (limited to 'fluid/Fl_Menu_Type.h')
-rw-r--r--fluid/Fl_Menu_Type.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/fluid/Fl_Menu_Type.h b/fluid/Fl_Menu_Type.h
index 3824270a6..13c1573ec 100644
--- a/fluid/Fl_Menu_Type.h
+++ b/fluid/Fl_Menu_Type.h
@@ -35,6 +35,7 @@
extern Fl_Menu_Item dummymenu[];
extern Fl_Menu_Item button_type_menu[];
extern Fl_Menu_Item menu_item_type_menu[];
+extern Fl_Menu_Item menu_bar_type_menu[];
/**
\brief Manage all types on menu items.
@@ -261,13 +262,24 @@ public:
class Fl_Menu_Bar_Type : public Fl_Menu_Base_Type
{
typedef Fl_Menu_Base_Type super;
+ Fl_Menu_Item *subtypes() FL_OVERRIDE {return menu_bar_type_menu;}
public:
+ Fl_Menu_Bar_Type();
+ ~Fl_Menu_Bar_Type() FL_OVERRIDE;
const char *type_name() FL_OVERRIDE {return "Fl_Menu_Bar";}
const char *alt_type_name() FL_OVERRIDE {return "fltk::MenuBar";}
Fl_Widget *widget(int X,int Y,int W,int H) FL_OVERRIDE {return new Fl_Menu_Bar(X,Y,W,H);}
Fl_Widget_Type *_make() FL_OVERRIDE {return new Fl_Menu_Bar_Type();}
+ void write_static(Fd_Code_Writer& f) FL_OVERRIDE;
+ void write_code1(Fd_Code_Writer& f) FL_OVERRIDE;
+// void write_code2(Fd_Code_Writer& f) FL_OVERRIDE;
ID id() const FL_OVERRIDE { return ID_Menu_Bar; }
bool is_a(ID inID) const FL_OVERRIDE { return (inID==ID_Menu_Bar) ? true : super::is_a(inID); }
+ bool is_sys_menu_bar();
+ const char *sys_menubar_name();
+ const char *sys_menubar_proxy_name();
+protected:
+ char *_proxy_name;
};