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 603450 - crash when middle clicking bookmarks-in-toolbar
crash when middle clicking bookmarks-in-toolbar
Status: RESOLVED FIXED
Product: epiphany
Classification: Core
Component: General
git master
Other Linux
: Normal normal
: ---
Assigned To: Epiphany Maintainers
Epiphany Maintainers
: 605178 605240 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-12-01 05:32 UTC by Diego Escalante Urrelo (not reading bugmail)
Modified: 2009-12-31 04:19 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Don't use deprecated GtkButton API (2.59 KB, patch)
2009-12-04 19:40 UTC, Diego Escalante Urrelo (not reading bugmail)
committed Details | Review

Description Diego Escalante Urrelo (not reading bugmail) 2009-12-01 05:32:02 UTC
this is it:

Thread 1 (Thread 0xb4d70760 (LWP 16022))

  • #0 value_lcopy_boolean
    at gvaluetypes.c line 79
  • #1 IA__g_signal_emit_valist
    at gsignal.c line 2992
  • #2 IA__g_signal_emit_by_name
    at gsignal.c line 3074
  • #3 button_release_cb
    at ephy-bookmark-action.c line 449
  • #4 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 84
  • #5 IA__g_closure_invoke
    at gclosure.c line 767
  • #6 signal_emit_unlocked_R
    at gsignal.c line 3247
  • #7 IA__g_signal_emit_valist
    at gsignal.c line 2990
  • #8 IA__g_signal_emit
    at gsignal.c line 3037
  • #9 gtk_widget_event_internal
    at gtkwidget.c line 4938
  • #10 IA__gtk_propagate_event
    at gtkmain.c line 2416
  • #11 IA__gtk_main_do_event
    at gtkmain.c line 1621
  • #12 gdk_event_dispatch
    at gdkevents-x11.c line 2372
  • #13 g_main_dispatch
    at gmain.c line 1960
  • #14 IA__g_main_context_dispatch
    at gmain.c line 2513
  • #15 g_main_context_iterate
    at gmain.c line 2591
  • #16 IA__g_main_loop_run
    at gmain.c line 2799
  • #17 IA__gtk_main
    at gtkmain.c line 1217
  • #18 main
    at ephy-main.c line 778


Using gtk+, epiphany, webkit, glib and libsoup from git master.
Comment 1 Diego Escalante Urrelo (not reading bugmail) 2009-12-04 19:40:42 UTC
Created attachment 149113 [details] [review]
Don't use deprecated GtkButton API

In 82a5da33 we removed usage of gtk_button_pressed and gtk_button_released
however replacing those for g_signal_emit calls of button-press-event and
button-release-event. This however caused a crash on middle clicking of
elements in the toolbar.
To fix this we use g_signal_emit with pressed and released signals, these
two are deprecated signals, though.

There doesn't seem to be a way to trigger button pressed/released animation
without the pressed/released *deprecated* signals or functions, so this is our
best solution for now.

Bug #603450
Comment 2 Diego Escalante Urrelo (not reading bugmail) 2009-12-06 01:21:27 UTC
Xan reintroduced the gtk_button_pressed/released API calls due to the crash,
although didn't notice this bug. I committed this patch since it keeps our
functionality without crashing but removes the deprecated GTK+ symbols.

Note that the signals are deprecated anyway but GTK+ doesn't offer us a way to
do what we need to.

Attachment 149113 [details] pushed as 7df0ef5 - Don't use deprecated GtkButton API
Comment 3 Xan Lopez 2009-12-06 17:40:01 UTC
(In reply to comment #2)
> Xan reintroduced the gtk_button_pressed/released API calls due to the crash,
> although didn't notice this bug. I committed this patch since it keeps our
> functionality without crashing but removes the deprecated GTK+ symbols.
> 
> Note that the signals are deprecated anyway but GTK+ doesn't offer us a way to
> do what we need to.

First of all this patch was committed without asking, please don't do that.

Second, if the signals are also deprecated how does this improve anything? We are just silencing the warnings but still using deprecated APIs, so we'll probably forget about this until the APIs are removed or something. I think we have to either open a GTK+ bug and put FIXMEs in the code pointing there, or revert this so it's very clear to everyone that we are using deprecated APIs (which might force us to, say, rethink things to stop using this functionality altogether in case it's possible).

> 
> Attachment 149113 [details] pushed as 7df0ef5 - Don't use deprecated GtkButton API
Comment 4 Diego Escalante Urrelo (not reading bugmail) 2009-12-07 10:53:04 UTC
If you revert notice that ephy-link-action also uses the deprecated api.

I understand that using g_signal_emit instead of gtk_button_* api while it silences the warnings it allows for building with disable_deprecated. Good point about forgetting though... shame on me :-)

We are using pressed and released to trigger the animation of -redundancy- button pressed/released. I doubt we have the -public- api for that.
Comment 5 Akhil Laddha 2009-12-22 03:27:11 UTC
*** Bug 605178 has been marked as a duplicate of this bug. ***
Comment 6 Reinout van Schouwen 2009-12-24 14:26:42 UTC
*** Bug 605240 has been marked as a duplicate of this bug. ***
Comment 7 Xan Lopez 2009-12-31 04:19:43 UTC
This has been fixed for some time now...