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 758426 - State 0 for GtkBox 0x231d270 doesn't match state 128 set via gtk_style_context_set_state
State 0 for GtkBox 0x231d270 doesn't match state 128 set via gtk_style_contex...
Status: RESOLVED FIXED
Product: epiphany
Classification: Core
Component: Interface
3.18.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: Epiphany Maintainers
Epiphany Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-11-20 22:11 UTC by Michael Catanzaro
Modified: 2015-12-07 10:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
notebook: Fix invalid call to gtk_style_context_get() (1.30 KB, patch)
2015-11-20 22:23 UTC, Michael Catanzaro
committed Details | Review

Description Michael Catanzaro 2015-11-20 22:11:20 UTC
Warning spew; I think this is related to why our favicons sometimes get cut off with GTK+ master:

(epiphany:3716): Gtk-WARNING **: State 0 for GtkBox 0x231d270 doesn't match state 128 set via gtk_style_context_set_state ()

(epiphany:3716): Gtk-WARNING **: State 0 for GtkBox 0x2344cf0 doesn't match state 128 set via gtk_style_context_set_state ()

(epiphany:3716): Gtk-WARNING **: State 0 for GtkBox 0x23703c0 doesn't match state 128 set via gtk_style_context_set_state ()

(epiphany:3716): Gtk-WARNING **: State 0 for GtkBox 0x2384a50 doesn't match state 128 set via gtk_style_context_set_state ()

(epiphany:3716): Gtk-WARNING **: State 0 for GtkBox 0x23a7120 doesn't match state 128 set via gtk_style_context_set_state ()

(epiphany:3716): Gtk-WARNING **: State 0 for GtkBox 0x23c4e40 doesn't match state 128 set via gtk_style_context_set_state ()

(epiphany:3716): Gtk-WARNING **: State 0 for GtkBox 0x23e2510 doesn't match state 128 set via gtk_style_context_set_state ()

(epiphany:3716): Gtk-WARNING **: State 0 for GtkBox 0x23f8ba0 doesn't match state 128 set via gtk_style_context_set_state ()

(epiphany:3716): Gtk-WARNING **: State 0 for GtkBox 0x241e270 doesn't match state 128 set via gtk_style_context_set_state ()

(epiphany:3716): Gtk-WARNING **: State 0 for GtkBox 0x2436900 doesn't match state 128 set via gtk_style_context_set_state ()

(epiphany:3716): Gtk-WARNING **: State 0 for GtkBox 0x2449f90 doesn't match state 128 set via gtk_style_context_set_state ()

(epiphany:3716): Gtk-WARNING **: State 0 for GtkBox 0x247c660 doesn't match state 128 set via gtk_style_context_set_state ()

(epiphany:3716): Gtk-WARNING **: State 0 for GtkBox 0x2497cf0 doesn't match state 128 set via gtk_style_context_set_state ()

(epiphany:3716): Gtk-WARNING **: State 0 for GtkBox 0x24b53c0 doesn't match state 128 set via gtk_style_context_set_state ()

(epiphany:3716): Gtk-WARNING **: State 0 for GtkBox 0x24cca50 doesn't match state 128 set via gtk_style_context_set_state ()

Backtrace to the first one:

  • #0 _g_log_abort
    at gmessages.c line 327
  • #1 g_logv
    at gmessages.c line 1079
  • #2 g_log
  • #3 gtk_style_context_push_state
    at gtkstylecontext.c line 505
  • #4 gtk_style_context_get_property
    at gtkstylecontext.c line 811
  • #5 gtk_style_context_get_valist
    at gtkstylecontext.c line 845
  • #6 gtk_style_context_get
    at gtkstylecontext.c line 885
  • #7 tab_label_style_set_cb
    at ephy-notebook.c line 550
  • #8 g_cclosure_marshal_VOID__OBJECT
    at gmarshal.c line 2062
  • #9 g_closure_invoke
    at gclosure.c line 804
  • #10 signal_emit_unlocked_R
    at gsignal.c line 3629
  • #11 g_signal_emit_valist
    at gsignal.c line 3385
  • #12 g_signal_emit_by_name
    at gsignal.c line 3481
  • #13 gtk_widget_ensure_style
    at deprecated/gtkstyle.c line 4157
  • #14 gtk_widget_realize
    at gtkwidget.c line 5417
  • #15 gtk_widget_map
    at gtkwidget.c line 4955
  • #16 gtk_widget_real_show
    at gtkwidget.c line 4779
  • #17 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 875
  • #18 g_type_class_meta_marshal
    at gclosure.c line 997
  • #19 g_closure_invoke
    at gclosure.c line 804
  • #20 signal_emit_unlocked_R
    at gsignal.c line 3559
  • #21 g_signal_emit_valist
  • #22 g_signal_emit
    at gsignal.c line 3441
  • #23 gtk_widget_show
    at gtkwidget.c line 4758
  • #24 gtk_notebook_update_labels
    at gtknotebook.c line 5342
  • #25 gtk_notebook_set_show_tabs
    at gtknotebook.c line 7648
  • #26 update_tabs_visibility
    at ephy-notebook.c line 409
  • #27 ephy_notebook_insert_page
    at ephy-notebook.c line 698
  • #28 gtk_notebook_insert_page_menu
    at gtknotebook.c line 7278
  • #29 gtk_notebook_insert_page
    at gtknotebook.c line 7207
  • #30 ephy_notebook_add_tab
    at ephy-notebook.c line 726
  • #31 impl_add_child
    at ephy-window.c line 419
  • #32 ephy_embed_container_add_child
    at ephy-embed-container.c line 66
  • #33 ephy_shell_new_tab_full
    at ephy-shell.c line 686
  • #34 session_parse_embed
    at ephy-session.c line 1067
  • #35 session_start_element
    at ephy-session.c line 1113
  • #36 emit_start_element
    at gmarkup.c line 1042
  • #37 g_markup_parse_context_parse
    at gmarkup.c line 1389
  • #38 load_stream_read_cb
    at ephy-session.c line 1266
  • #39 async_ready_callback_wrapper
  • #40 g_task_return_now
    at gtask.c line 1107
  • #41 complete_in_idle_cb
    at gtask.c line 1121
  • #42 g_idle_dispatch
    at gmain.c line 5441
  • #43 g_main_dispatch
    at gmain.c line 3154
  • #44 g_main_context_dispatch
    at gmain.c line 3769
  • #45 g_main_context_iterate
    at gmain.c line 3840
  • #46 g_main_context_iteration
    at gmain.c line 3901
  • #47 g_application_run
    at gapplication.c line 2311
  • #48 main
    at ephy-main.c line 481

Comment 1 Michael Catanzaro 2015-11-20 22:23:40 UTC
Created attachment 315997 [details] [review]
notebook: Fix invalid call to gtk_style_context_get()

Company:  gtk_style_context_get() (and _get_padding/border/color())
should only ever be called with the same state as
gtk_style_context_get_state()
Company:  usually that's a simple replacing of the old state (like in
the trace you posted)
Company:  sometimes it requires calling gtk_style_context_set_sate()
with the right state first
Company:  and in very rare cases it needs a gtk_style_context_save()
before the set_state(), too
Comment 2 Michael Catanzaro 2015-11-20 22:24:58 UTC
The favicon is still getting cut off sometimes....
Comment 3 Adam Williamson 2015-12-01 23:11:20 UTC
GTK+ is spamming this warning for all sorts of apps on current Rawhide, for me. I have it for gedit:

Dec 01 15:08:51 adam.happyassassin.net gedit.desktop[3335]: (gedit:3335): Gtk-WARNING **: State 0 for GeditView 0x561f8f8be460 doesn't match state 192 set via gtk_style_context_set_state ()

firefox:

Dec 01 15:09:10 adam.happyassassin.net firefox.desktop[3309]: (firefox:3317): Gtk-WARNING **: State 0 for GtkEntry 0x7efd5e34be20 doesn't match state 128 set via gtk_style_context_set_state ()

evolution:

Dec 01 15:09:40 adam.happyassassin.net evolution.desktop[3278]: (evolution:3278): Gtk-WARNING **: State 0 for EMailShellSidebar 0x560a2ead92f0 doesn't match state 192 set via gtk_style_context_set_state ()

and terminal:

Dec 01 14:45:38 adam.happyassassin.net org.gnome.Terminal[2736]: (gnome-terminal-server:3403): Gtk-WARNING **: State 0 for TerminalScreen 0x561f17f595b0 doesn't match state 128 set via gtk_style_context_set_state ()
Comment 4 Adam Williamson 2015-12-01 23:14:06 UTC
Filed https://bugzilla.gnome.org/show_bug.cgi?id=758930 as a general GTK+ bug for this...
Comment 5 Michael Catanzaro 2015-12-07 10:42:57 UTC
Attachment 315997 [details] pushed as 235e77d - notebook: Fix invalid call to gtk_style_context_get()