aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dw/fltkplatform.cc12
-rw-r--r--dw/fltkplatform.hh1
2 files changed, 4 insertions, 9 deletions
diff --git a/dw/fltkplatform.cc b/dw/fltkplatform.cc
index b9aa6bd8..97e10710 100644
--- a/dw/fltkplatform.cc
+++ b/dw/fltkplatform.cc
@@ -152,13 +152,8 @@ FltkColor * FltkColor::create (int col)
return color;
}
-::fltk::Widget *FltkTooltip::widget = NULL;
-
FltkTooltip::FltkTooltip (const char *text) : Tooltip(text)
{
- /* ::fltk::Tooltip really, really wants a Widget */
- if (!widget)
- widget = new ::fltk::InvisibleBox(1, 1, 0, 0, NULL);
shown = false;
if (!text || !strpbrk(text, "&@")) {
@@ -197,9 +192,10 @@ FltkTooltip *FltkTooltip::create (const char *text)
void FltkTooltip::onEnter()
{
- Rectangle rect;
- widget->get_absolute_rect(&rect);
- ::fltk::Tooltip::enter(widget, rect, escaped_str ? escaped_str : str);
+ fltk::Widget *widget = fltk::belowmouse();
+
+ ::fltk::Tooltip::enter(widget, *((fltk::Rectangle *)widget),
+ escaped_str ? escaped_str : str);
shown = true;
}
diff --git a/dw/fltkplatform.hh b/dw/fltkplatform.hh
index 7415ac84..7a708938 100644
--- a/dw/fltkplatform.hh
+++ b/dw/fltkplatform.hh
@@ -50,7 +50,6 @@ private:
~FltkTooltip ();
bool shown;
char *escaped_str; /* fltk WORKAROUND */
- static ::fltk::Widget *widget;
public:
static FltkTooltip *create(const char *text);
void onEnter();