diff options
author | Pierre Ossman <ossman@cendio.se> | 2018-09-11 14:33:20 +0200 |
---|---|---|
committer | Pierre Ossman <ossman@cendio.se> | 2018-09-11 14:33:20 +0200 |
commit | 07cbf841be9a8a50e0842213086114fdd2cbbc06 (patch) | |
tree | 3257c12f6eb3cf47501c9aa7cba85abf9a6dbd42 /vncviewer | |
parent | 360d107d2a7a3e5f61d600bb5ef50019b02ac114 (diff) | |
download | tigervnc-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.cxx | 15 |
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; |