After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 56467 - GtkTreeView drag & drop generates multiple signals
GtkTreeView drag & drop generates multiple signals
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: GtkTreeView
1.3.x
Other Solaris
: Normal normal
: future
Assigned To: gtktreeview-bugs
gtktreeview-bugs
Depends on:
Blocks:
 
 
Reported: 2001-06-20 18:16 UTC by Brian Cameron
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Brian Cameron 2001-06-20 18:16:52 UTC
When I perform a drag & drop operation in a GtkTreeView, I get multiple
signals.

In order to see this bug, you must drag and drop a row that can be
expanded.

Then you get a GtkTreeModel "deleted" and a "range_changed" signal for
the row and all of its children.  For example, if the row has 5
children, you would get 6 pairs of "deleted" and "range_changed" signals.

Then you get one GtkTreeModel "inserted" signal for the parent row.  It
seems a bad idea for the number of "deleted" signals to not match the
number of "inserted" signals.

Basically, it doesn't seem a good idea to generate so many signals.  If
the "inserted" signal is smart enough to know that the signal also
applies to all the children, can't the "deleted" and "range_changed"
signals also be smart in this way?

Generating multiple signals like this creates a problem for the ATK
interface since it assumes a "range_changed" signal corrisponds to a
change in a cell.  And getting multiple signals makes the ATK work
very hard needlessly.

Since the "range_changed" signal can specify that the range covers
multiple rows, shouldn't it use this feature rather than generating
multiple "range_changed" signals?
Comment 1 Jonathan Blandford 2001-06-20 18:43:02 UTC
That's weird.  I'll look into it
Comment 2 Jonathan Blandford 2002-02-18 19:28:32 UTC
range_changed is gone;  The delete/inserted signals seem to be right.
 I don't see a harm in the row_changed signals.  Might be nice to
clean up DnD later, but for now, I don't see what I can do now.
Comment 3 Kristian Rietveld 2002-05-02 19:40:23 UTC
Reassigning bugs to new component owner. Sorry for the flood.
Comment 4 Kristian Rietveld 2002-10-03 14:23:01 UTC
I don't really see why this bug is still open.
Comment 5 padraig.obriain 2002-10-04 10:50:57 UTC
When a row, which is expandable, is dragged and dropped I see
"row-inserted" signals for the row and each of its children and then a
"row-deleted" signal for the row. This looks OK to me.