summaryrefslogtreecommitdiffstats
path: root/vncviewer
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2018-09-11 14:33:20 +0200
committerPierre Ossman <ossman@cendio.se>2018-09-11 14:33:20 +0200
commit07cbf841be9a8a50e0842213086114fdd2cbbc06 (patch)
tree3257c12f6eb3cf47501c9aa7cba85abf9a6dbd42 /vncviewer
parent360d107d2a7a3e5f61d600bb5ef50019b02ac114 (diff)
downloadtigervnc-07cbf841be9a8a50e0842213086114fdd2cbbc06.tar.gz
tigervnc-07cbf841be9a8a50e0842213086114fdd2cbbc06.zip
Fix multi-head placement of overlay (again)
We should be looking at the physical monitor layout, not the current RFB layout. The latter might not be in sync with the local monitors.
Diffstat (limited to 'vncviewer')
-rw-r--r--vncviewer/DesktopWindow.cxx15
1 files changed, 4 insertions, 11 deletions
diff --git a/vncviewer/DesktopWindow.cxx b/vncviewer/DesktopWindow.cxx
index a8e17fce..d070b648 100644
--- a/vncviewer/DesktopWindow.cxx
+++ b/vncviewer/DesktopWindow.cxx
@@ -365,20 +365,13 @@ void DesktopWindow::draw()
// Overlay (if active)
if (overlay) {
int ox, oy, ow, oh;
- int sx, sy, sw;
+ int sx, sy, sw, sh;
// Make sure it's properly seen by adjusting it relative to the
// primary screen rather than the entire window
- if (fullscreen_active()) {
- ScreenSet layout;
-
- layout = cc->cp.screenLayout;
-
- assert(layout.num_screens() >= 1);
-
- sx = layout.begin()->dimensions.tl.x;
- sy = layout.begin()->dimensions.tl.y;
- sw = layout.begin()->dimensions.width();
+ if (fullscreen_active() && fullScreenAllMonitors) {
+ assert(Fl::screen_count() >= 1);
+ Fl::screen_xywh(sx, sy, sw, sh, 0);
} else {
sx = 0;
sy = 0;