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 338682 - Crash when moving zoom widget on toolbar
Crash when moving zoom widget on toolbar
Status: RESOLVED FIXED
Product: epiphany
Classification: Core
Component: Controls
2.14.x
Other Linux
: Normal normal
: ---
Assigned To: Epiphany Maintainers
Marco Pesenti Gritti
Depends on:
Blocks:
 
 
Reported: 2006-04-16 12:09 UTC by Crispin Flowerday (not receiving bugmail)
Modified: 2007-09-08 20:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Don't crash when adding back zoom widget to toolbar (665 bytes, patch)
2006-05-29 19:13 UTC, Frederic Peters
reviewed Details | Review

Description Crispin Flowerday (not receiving bugmail) 2006-04-16 12:09:13 UTC
1) Open the toolbar editor
2) Remove the zoom widget from the toolbar (if it is there)
3) Put the zoom widget back onto the toolbar
4) Move it on the toolbar
5) Move it again on the toolbar

At this point epiphany will crash:

  • #0 action_sensitive_cb
    at egg-editable-toolbar.c line 535
  • #1 IA__g_cclosure_marshal_VOID__PARAM
    at gmarshal.c line 531
  • #2 IA__g_closure_invoke
    at gclosure.c line 490
  • #3 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #4 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #5 IA__g_signal_emit
    at gsignal.c line 2241
  • #6 g_object_dispatch_properties_changed
    at gobject.c line 561
  • #7 g_object_notify_dispatcher
    at gobject.c line 242
  • #8 IA__g_object_notify
    at gobjectnotifyqueue.c line 123
  • #9 configure_item_sensitivity
    at egg-editable-toolbar.c line 443
  • #10 item_added_cb
    at egg-editable-toolbar.c line 1138
  • #11 _egg_marshal_VOID__INT_INT
    at eggmarshalers.c line 491
  • #12 IA__g_closure_invoke
    at gclosure.c line 490
  • #13 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #14 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #15 IA__g_signal_emit
    at gsignal.c line 2241
  • #16 impl_add_item
    at egg-toolbars-model.c line 458
  • #17 egg_toolbars_model_add_item
    at egg-toolbars-model.c line 471
  • #18 toolbar_drag_data_received_cb
    at egg-editable-toolbar.c line 658
  • #19 _gtk_marshal_VOID__OBJECT_INT_INT_BOXED_UINT_UINT
    at gtkmarshalers.c line 1885
  • #20 IA__g_closure_invoke
    at gclosure.c line 490
  • #21 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #22 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #23 IA__g_signal_emit_by_name
    at gsignal.c line 2265
  • #24 gtk_drag_selection_received
    at gtkdnd.c line 1503
  • #25 _gtk_marshal_VOID__BOXED_UINT
    at gtkmarshalers.c line 1298
  • #26 IA__g_closure_invoke
    at gclosure.c line 490
  • #27 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #28 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #29 IA__g_signal_emit_by_name
    at gsignal.c line 2265
  • #30 gtk_selection_retrieval_report
    at gtkselection.c line 2447
  • #31 IA__gtk_selection_convert
    at gtkselection.c line 965
  • #32 IA__gtk_drag_get_data
    at gtkdnd.c line 822
  • #33 toolbar_drag_drop_cb
    at egg-editable-toolbar.c line 683
  • #34 _gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT
    at gtkmarshalers.c line 330
  • #35 IA__g_closure_invoke
    at gclosure.c line 490
  • #36 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #37 IA__g_signal_emit_valist
    at gsignal.c line 2207
  • #38 IA__g_signal_emit_by_name
    at gsignal.c line 2265
  • #39 gtk_drag_dest_drop
    at gtkdnd.c line 2072
  • #40 gtk_drag_find_widget
    at gtkdnd.c line 1675
  • #41 gtk_drag_find_widget
    at gtkdnd.c line 1660
  • #42 gtk_drag_find_widget
    at gtkdnd.c line 1660
  • #43 gtk_drag_find_widget
    at gtkdnd.c line 1660
  • #44 gtk_drag_find_widget
    at gtkdnd.c line 1660
  • #45 gtk_drag_find_widget
    at gtkdnd.c line 1660
  • #46 _gtk_drag_dest_handle_event
    at gtkdnd.c line 1360
  • #47 IA__gtk_main_do_event
    at gtkmain.c line 1481
  • #48 gdk_event_dispatch
    at gdkevents-x11.c line 2291
  • #49 IA__g_main_context_dispatch
    at gmain.c line 1916
  • #50 g_main_context_iterate
    at gmain.c line 2547
  • #51 IA__g_main_loop_run
    at gmain.c line 2751
  • #52 IA__gtk_main
    at gtkmain.c line 1026
  • #53 main
    at ephy-main.c line 791

Comment 1 Frederic Peters 2006-05-29 19:13:10 UTC
Created attachment 66432 [details] [review]
Don't crash when adding back zoom widget to toolbar

I confirm this bug report on 2.14 and ~HEAD; I attach a patch that fix the issue.

Unfortunately I don't think this is the right fix and something must be wrong in ephy-zoom-action.c or ephy-zoom-control.c but I failed to spot the problem in there.
Comment 2 Christian Persch 2006-05-29 22:10:11 UTC
Thanks for the patch!

   EggEditableToolbar *etoolbar = EGG_EDITABLE_TOOLBAR
     (gtk_widget_get_ancestor (GTK_WIDGET (item), EGG_TYPE_EDITABLE_TOOLBAR));

+  if (GTK_WIDGET(item)->parent == NULL)
+    return;

   if (etoolbar->priv->edit_mode > 0)

The crash is in the etoolbar-> dereference. So checking if (etoolbar == NULL) return; should be equivalent, right? If that also works, I'd prefer that.
With that changed, and please also add a comment pointing to this bug, oktc for gnome-2-14 and HEAD. Let's keep the bug open though.
Comment 3 Frederic Peters 2006-05-30 09:05:55 UTC
testing on etoolbar works; commited.
Comment 4 Cyril Brulebois 2007-09-07 05:19:22 UTC
Any reason to keep this bug open? Looks like RESOLVED to me.