I've been playing lately with multiple views on GTK, and I noticed when
reparenting(1) the scintilla widget, that it looses the left pointing
arrow cursor on the scrollbar. 

Once reparented only the I-beam cursor - GDK_XTERM - is shown, even when
the pointer is hovering over the scrollbar. 

The scrollbar works as expected.

This issue is solved, by commenting out the lines 1713 and 1714 on
PlatGTK.cxx, on method "void Window::SetCursor(Cursor curs)"

   if (curs == cursorLast)
      return;

There's a comment explaining this code:

"We don't set the cursor to same value numerous times under gtk because
it stores the cursor in the window once it's set."

This fails in my systems - I don't know why yet - when you reparent the
scintilla widget.

About the fix, it seems the SetCursor method is not called too much
times, but I don't know if re-setting the cursor will have a performance
impact.

So finally what I'd like to know is if there are other known ways to fix
this reparenting problem, without touching scintilla's code.

Furthermore, I did tested this bug only on Unix and Linux GTK, but I
have no time yet to test it on Windows and OsX. May be this problem is
not reproducible on GTK/Windows or GTK/OsX.


Thanks in advance for your help

(1) With "reparent", I mean to take out the scintilla widget from its
container and attach it to a different container. 
-- 
Iago Rubio

_______________________________________________
Scintilla-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scintilla-interest

Reply via email to