summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-01-23 12:36:50 +0100
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-01-23 12:36:50 +0100
commit8a4aa619e418fb0d3804c335bd7a05e86280e9a5 (patch)
tree826a402fc2c0dd4c28076e841692f3a176e91fb8
parentda8d6c8d77ba848c9ad2bebc44309f422bb5e656 (diff)
Fix "Wrong tooltip position on Wayland …" - cont'd (#894)
-rw-r--r--src/Fl_Tooltip.cxx24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/Fl_Tooltip.cxx b/src/Fl_Tooltip.cxx
index 821e95158..5ae23f0ad 100644
--- a/src/Fl_Tooltip.cxx
+++ b/src/Fl_Tooltip.cxx
@@ -96,20 +96,20 @@ void Fl_TooltipBox::layout() {
for (Fl_Widget* p = Fl_Tooltip::current(); p; p = p->window()) {
oy += p->y();
}
+ int scr_x = -100000, scr_y = -100000, scr_w = 1000000, scr_h = 1000000;
if (!Fl_Window_Driver::driver(this)->popup_window()) {
- int scr_x, scr_y, scr_w, scr_h;
- Fl::screen_xywh(scr_x, scr_y, scr_w, scr_h);
- if (ox+ww > scr_x+scr_w) ox = scr_x+scr_w - ww;
- if (ox < scr_x) ox = scr_x;
- if (currentTooltipH > 30) {
- oy = Fl::event_y_root()+13;
- if (oy+hh > scr_y+scr_h) oy -= 23+hh;
- } else {
- if (oy+hh > scr_y+scr_h) oy -= (4+hh+currentTooltipH);
- }
- if (oy < scr_y) oy = scr_y;
+ Fl::screen_xywh(scr_x, scr_y, scr_w, scr_h);
}
-
+ if (ox+ww > scr_x+scr_w) ox = scr_x+scr_w - ww;
+ if (ox < scr_x) ox = scr_x;
+ if (currentTooltipH > 30) {
+ oy = Fl::event_y_root()+13;
+ if (oy+hh > scr_y+scr_h) oy -= 23+hh;
+ } else {
+ if (oy+hh > scr_y+scr_h) oy -= (4+hh+currentTooltipH);
+ }
+ if (oy < scr_y) oy = scr_y;
+
resize(ox, oy, ww, hh);
}