diff options
Diffstat (limited to 'FL')
| -rw-r--r-- | FL/Fl_Window.H | 5 | ||||
| -rw-r--r-- | FL/Fl_Window_Driver.H | 6 | ||||
| -rw-r--r-- | FL/porting.H | 2 |
3 files changed, 8 insertions, 5 deletions
diff --git a/FL/Fl_Window.H b/FL/Fl_Window.H index 9dd443e8e..659495f32 100644 --- a/FL/Fl_Window.H +++ b/FL/Fl_Window.H @@ -71,7 +71,8 @@ class FL_EXPORT Fl_Window : public Fl_Group { friend class Fl_X; friend class Fl_Window_Driver; - Fl_Window_Driver *i; // points at the system-specific stuff + Fl_X *i; // points at the system-specific stuff, but exists only after the window is mapped + Fl_Window_Driver *pWindowDriver; // points at the system-specific stuff at window creatino time struct icon_data { const void *legacy_icon; @@ -635,7 +636,7 @@ public: // Captures the titlebar and borders of the window, if they exist. void capture_titlebar_and_borders(Fl_Shared_Image*& top, Fl_Shared_Image*& left, Fl_Shared_Image*& bottom, Fl_Shared_Image*& right); - Fl_Window_Driver *driver() { return i; } + Fl_Window_Driver *driver() { return pWindowDriver; } /** Return non-null if this is an Fl_Overlay_Window object. diff --git a/FL/Fl_Window_Driver.H b/FL/Fl_Window_Driver.H index 540b6971f..9f938606f 100644 --- a/FL/Fl_Window_Driver.H +++ b/FL/Fl_Window_Driver.H @@ -33,7 +33,9 @@ class Fl_Window; /** \brief A base class for platform specific window handling code. */ -class FL_EXPORT Fl_Window_Driver : public Fl_X { +class FL_EXPORT Fl_Window_Driver { +protected: + Fl_Window *pWindow; public: Fl_Window_Driver(Fl_Window *); virtual ~Fl_Window_Driver(); @@ -42,7 +44,7 @@ public: virtual void take_focus() { } virtual int double_flush(int eraseoverlay); virtual void destroy_double_buffer(); - void draw() {w->draw();} + void draw(); }; diff --git a/FL/porting.H b/FL/porting.H index 7b0830189..776dd8779 100644 --- a/FL/porting.H +++ b/FL/porting.H @@ -78,7 +78,7 @@ public: int wait_for_expose; // NSCursor *cursor; static Fl_X* first; - static Fl_X* i(const Fl_Window* w) {return (Fl_X*)w->i;} + static Fl_X* i(const Fl_Window* w) {return w->i;} static int fake_X_wm(const Fl_Window*,int&,int&,int&,int&,int&); static Fl_X* make(Fl_Window*); void flush(); |
