drag and drop/dnd question - drag_leave / drag_motion



Hello all,

I am using gtk+1.2.10 on a debian machine and I am experiencing the
following inconsistencies when using dnd signals:

1. signal "drag_motion" occasionally gets set _after_ "drag_end" signal.
2. signal "drag_leave" doesn't get reliably sent when dragging slightly
fast.

The "drag_motion" irregularity is annoying but easy managable - a status
flag which gets cleared by the "drag-end" callback function and a
request in "drag_motion" if status is set or not. Though I think this
should be handled by catching signals alone. It's probability is about
10 to 30 percent.

The "drag_leave" does get sent with a probability of about 60 percent.
It does happen only if I drag with a slightly higher speed than slow.
The problem is that it is inconsistent and the following two things
occur:
- "drag_motion" gets the right position of the cursor reliably, so at
  least drag_motion is fast enough to catch the new widget.
- "drag_leave" gets eventually sent, directly before "drag_end". The
  order I catch them is "drag_end" before "drag_leave", so they don't
  get sent together and I don't have a chance to change the order to not
  get this last drag_leave. The problem is that I can't distinguish
  between the "drag_leave" after leaving the widget during dragging
  further on and the "drag_leave" just before "drag_end". I could do
  a work-around to this as well but I am curiuos if I miss something.

I have a test program (packed about 7k)  that I put onto the web:

http://www.cbothmer.org/gtk/test2.c.bz2

So please, if somebody has encountered the same problems, if someone
knows
a trick to circumvent this or to fix my code in case it's just the code,
I
appreciate any comment and help on it.

Thanks in advance

bye

caspar


-- 
Public-Key-Server: z.B. http://blackhole.pca.dfn.de
Caspar Bothmer <caspar cbothmer org> ID: 0xCE9DDE57
FP: 8D3B 7211 6F0C D52C 7226  F060 9182 97EC CE9D DE57



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]