summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl_cocoa.mm2
-rw-r--r--src/Fl_win32.cxx1
-rw-r--r--src/screen_xywh.cxx9
3 files changed, 7 insertions, 5 deletions
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm
index 876426b43..b38c652d1 100644
--- a/src/Fl_cocoa.mm
+++ b/src/Fl_cocoa.mm
@@ -1088,7 +1088,7 @@ void fl_open_callback(void (*cb)(const char *)) {
- (void)applicationDidChangeScreenParameters:(NSNotification *)unused
{ // react to changes in screen numbers and positions
main_screen_height = [[[NSScreen screens] objectAtIndex:0] frame].size.height;
- Fl_X::mac_screen_init();
+ Fl::call_screen_init();
// FLTK windows have already been notified they were moved,
// but they had the old main_screen_height, so they must be notified again.
NSArray *windows = [NSApp windows];
diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx
index 9adbfc9dd..44613a666 100644
--- a/src/Fl_win32.cxx
+++ b/src/Fl_win32.cxx
@@ -1204,6 +1204,7 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPar
if (fl_msg.message == WM_RENDERALLFORMATS) CloseClipboard();
return 1;}
case WM_DISPLAYCHANGE: // occurs when screen configuration (number, position) changes
+ Fl::call_screen_init();
Fl::handle(FL_SCREEN_CONFIGURATION_CHANGED, NULL);
return 0;
diff --git a/src/screen_xywh.cxx b/src/screen_xywh.cxx
index 878b9bf9a..aa7719eb0 100644
--- a/src/screen_xywh.cxx
+++ b/src/screen_xywh.cxx
@@ -142,10 +142,6 @@ static void screen_init() {
num_screens = count;
}
-void Fl_X::mac_screen_init() {
- screen_init();
- }
-
#elif HAVE_XINERAMA
# include <X11/extensions/Xinerama.h>
@@ -189,6 +185,11 @@ static void screen_init() {
}
#endif // WIN32
+#ifndef FL_DOXYGEN
+void Fl::call_screen_init() {
+ screen_init();
+}
+#endif
/**
Gets the number of available screens.