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 497070 - dia crashes after pasting a group of objects
dia crashes after pasting a group of objects
Status: RESOLVED FIXED
Product: dia
Classification: Other
Component: general
0.96.1
Other All
: High critical
: 0.97
Assigned To: Dia maintainers
Dia maintainers
: 508670 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-11-15 15:08 UTC by Maciej Grela
Modified: 2008-04-08 21:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
The file causing the crash (3.03 KB, application/x-gzip)
2007-11-15 15:08 UTC, Maciej Grela
Details

Description Maciej Grela 2007-11-15 15:08:11 UTC
Steps to reproduce:
1. Run dia
2. Open the attached file
3. Select all objects and copy them (Ctrl-C)
4. Close the window
5. Select File->New
6. Paste the objects.
7. When trying to move a bezier arrow dia crashes.


Stack trace:
  • #0 calculate_object_edge
    at geometry.c line 733
  • #1 compute_gap_points
    at bezier.c line 334
  • #2 bezierline_update_data
    at bezier.c line 529
  • #3 bezierline_move
    at bezier.c line 251
  • #4 object_list_move_delta_r
    at object.c line 269
  • #5 object_list_move_delta
    at object.c line 302
  • #6 edit_paste_callback
    at commands.c line 222
  • #7 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #8 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #9 signal_emit_unlocked_R
    from /usr/lib/libgobject-2.0.so.0
  • #10 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #11 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #12 _gtk_action_emit_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #13 closure_accel_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #14 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #15 signal_emit_unlocked_R
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #17 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #18 gtk_accel_group_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #19 gtk_accel_groups_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #20 gtk_window_activate_key
    from /usr/lib/libgtk-x11-2.0.so.0
  • #21 gtk_window_key_press_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #22 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #23 g_type_class_meta_marshal
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #25 signal_emit_unlocked_R
    from /usr/lib/libgobject-2.0.so.0
  • #26 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #27 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #28 gtk_widget_event_internal
    from /usr/lib/libgtk-x11-2.0.so.0
  • #29 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #30 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #31 gdk_event_dispatch
    from /usr/lib/libgdk-x11-2.0.so.0
  • #32 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #33 g_main_context_iterate
    from /usr/lib/libglib-2.0.so.0
  • #34 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #35 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #36 main
    at main.c line 40


Other information:
Comment 1 Maciej Grela 2007-11-15 15:08:47 UTC
Created attachment 99143 [details]
The file causing the crash
Comment 2 Lars Clausen 2007-11-15 19:22:21 UTC
Confirmed, in current SVN too.  You don't even have to move a line in my case, just pasting crashes it.  Pretty bad, this one.  It does seem to be not just the beziers, though -- trying the same trick with render_test.dia but having removed all bezier-related items.  You don't even have to close the first diagram, as long as the copy goes into a different diagram.
Comment 3 Hans Breuer 2008-04-08 21:34:10 UTC
Thanks for the nice test file, fix just commited:

2008-04-08  Hans Breuer  <hans@breuer.org>

	* lib/object.c(object_copy_list) : if we can't find the object to
	to connect to ensure there is no dangling reference. Fixes bug #497070
	* lib/group.c(group_copy) : some comment

Comment 4 Hans Breuer 2008-04-08 21:37:01 UTC
*** Bug 508670 has been marked as a duplicate of this bug. ***