Tooltip bugs revisited

Jorge Arellano Cid <[email protected]>
Newsgroups gmane.comp.web.dillo.devel
Message-ID <[email protected]>
Hi there,

  These days I've devoted some more effort to the tooltips bug [1]
and  its workaround patch [2]. The motivation is that the current
workaround  involves  a  full UI and viewport expose (i.e. a full
erase/redraw) that produces annoying flickering when the mouse is
in the UI but outside the viewport (e.g. over the panel).

  Over  time  I've  learnt  to move the mouse pointer outside the
panel  and  into  the  viewport to scroll without flickering (but
probably I'm among the few that know this trick).

  So far (and despite the warning inside FLTK), I've experimented
with  a  custom  tooltip  handling  class, and a couple custom UI
widgets,  that seem to work well together (i.e. solve the problem
without the workaround :) ).

  Testing  revealed  the  workaround  concealed  another problem,
which  I  don't remember whether it was detected before, and this
is that viewport mouse events get "through" the panel UI!.

  How?,  placing  the  mouse  pointer over the panel (e.g. to the
right  of  the  Tools  button,  or even inside the Location), and
scrolling  a  page  full  of  links under it, will make the mouse
pointer  change to a hand, and the destination link appear in the
status bar area.

  This  bug  is  revealed by disabling the workaround: just apply
the small attached patch.

  Clearly there's a viewport offset problem somewhere. Correcting
it may save us lots of headaches in the future.

  Does anybody know or has a clue of where this may be happening?

  TIA.


 [1] http://lists.auriga.wearlab.de/pipermail/dillo-dev/2011-July/008494.html
 [2] http://lists.auriga.wearlab.de/pipermail/dillo-dev/2011-July/008515.html

-- 
  Cheers
  Jorge.-

_______________________________________________
Dillo-dev mailing list
[email protected]
http://lists.auriga.wearlab.de/cgi-bin/mailman/listinfo/dillo-dev
ui.diff (text/x-diff, 783 B)
diff -r bf6da23273ba src/ui.cc
--- a/src/ui.cc	Fri Nov 09 07:26:00 2012 +0000
+++ b/src/ui.cc	Sun Nov 11 15:51:00 2012 -0300
@@ -706,13 +706,14 @@ int UI::handle(int event)
       /* WORKAROUND: remove the Panel's fltk-tooltip.
        * Although the expose event is delivered, it has an offset. This
        * extra call avoids the lingering tooltip. */
+/*
       if (!Fl::event_inside(Main) &&
           (Fl::event_inside((Fl_Widget*)tabs()) ||
            Fl::event_inside(NavBar) ||
            (LocBar && Fl::event_inside(LocBar)) ||
            (StatusBar && Fl::event_inside(StatusBar))))
          window()->damage(FL_DAMAGE_EXPOSE,0,0,1,1);
-
+*/
       return 0; // Receive as shortcut
    } else if (event == FL_SHORTCUT) {
       KeysCommand_t cmd = Keys::getKeyCmd();
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.