summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Fl_Screen_Driver.H1
-rw-r--r--src/Fl_Screen_Driver.cxx1
-rw-r--r--src/Fl_x.cxx2
-rw-r--r--src/drivers/X11/Fl_X11_Screen_Driver.cxx10
4 files changed, 5 insertions, 9 deletions
diff --git a/src/Fl_Screen_Driver.H b/src/Fl_Screen_Driver.H
index ab78a4745..d20f429c9 100644
--- a/src/Fl_Screen_Driver.H
+++ b/src/Fl_Screen_Driver.H
@@ -174,7 +174,6 @@ public:
void rescale_all_windows_from_screen(int screen, float f);
static void transient_scale_display(float f, int nscreen);
static int scale_handler(int event);
- virtual void init_workarea() {}
virtual float desktop_scale_factor() {return 1;}
float use_startup_scale_factor();
enum APP_SCALING_CAPABILITY {
diff --git a/src/Fl_Screen_Driver.cxx b/src/Fl_Screen_Driver.cxx
index 9c0857972..3411e8bc6 100644
--- a/src/Fl_Screen_Driver.cxx
+++ b/src/Fl_Screen_Driver.cxx
@@ -428,7 +428,6 @@ int Fl_Screen_Driver::scale_handler(int event)
if (f == old_f) return 1;
screen_dr->rescale_all_windows_from_screen(screen, f*initial_scale);
Fl_Screen_Driver::transient_scale_display(f, screen);
- screen_dr->init_workarea();
Fl::handle(FL_ZOOM_EVENT, NULL);
return 1;
}
diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx
index fce8e1c8e..f3beb582e 100644
--- a/src/Fl_x.cxx
+++ b/src/Fl_x.cxx
@@ -1302,7 +1302,7 @@ int fl_handle(const XEvent& thisevent)
#endif // USE_XRANDR
if (xevent.type == PropertyNotify && xevent.xproperty.atom == fl_NET_WORKAREA) {
- Fl::screen_driver()->init_workarea();
+ ((Fl_X11_Screen_Driver*)Fl::screen_driver())->init_workarea();
}
switch (xevent.type) {
diff --git a/src/drivers/X11/Fl_X11_Screen_Driver.cxx b/src/drivers/X11/Fl_X11_Screen_Driver.cxx
index ff385c340..d0274a10e 100644
--- a/src/drivers/X11/Fl_X11_Screen_Driver.cxx
+++ b/src/drivers/X11/Fl_X11_Screen_Driver.cxx
@@ -212,8 +212,6 @@ static int fl_workarea_xywh[4] = { -1, -1, -1, -1 };
void Fl_X11_Screen_Driver::init_workarea()
{
- if (!fl_display) open_display();
-
Atom actual;
unsigned long count, remaining;
int format;
@@ -247,7 +245,7 @@ void Fl_X11_Screen_Driver::init_workarea()
int Fl_X11_Screen_Driver::x() {
- if (fl_workarea_xywh[0] < 0) init_workarea();
+ if (!fl_display) open_display();
return fl_workarea_xywh[0]
#if USE_XFT
/ screens[0].scale
@@ -256,7 +254,7 @@ int Fl_X11_Screen_Driver::x() {
}
int Fl_X11_Screen_Driver::y() {
- if (fl_workarea_xywh[0] < 0) init_workarea();
+ if (!fl_display) open_display();
return fl_workarea_xywh[1]
#if USE_XFT
/ screens[0].scale
@@ -265,7 +263,7 @@ int Fl_X11_Screen_Driver::y() {
}
int Fl_X11_Screen_Driver::w() {
- if (fl_workarea_xywh[0] < 0) init_workarea();
+ if (!fl_display) open_display();
return fl_workarea_xywh[2]
#if USE_XFT
/ screens[0].scale
@@ -274,7 +272,7 @@ int Fl_X11_Screen_Driver::w() {
}
int Fl_X11_Screen_Driver::h() {
- if (fl_workarea_xywh[0] < 0) init_workarea();
+ if (!fl_display) open_display();
return fl_workarea_xywh[3]
#if USE_XFT
/ screens[0].scale