summaryrefslogtreecommitdiff
path: root/src/Fl_Tooltip.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Fl_Tooltip.cxx')
-rw-r--r--src/Fl_Tooltip.cxx22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/Fl_Tooltip.cxx b/src/Fl_Tooltip.cxx
index 992ac3f2c..821e95158 100644
--- a/src/Fl_Tooltip.cxx
+++ b/src/Fl_Tooltip.cxx
@@ -96,17 +96,19 @@ void Fl_TooltipBox::layout() {
for (Fl_Widget* p = Fl_Tooltip::current(); p; p = p->window()) {
oy += p->y();
}
- 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 (!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;
}
- if (oy < scr_y) oy = scr_y;
resize(ox, oy, ww, hh);
}