Closed Bug 393976 Opened 16 years ago Closed 5 years ago
GTK2 Gecko should support theme change on fly
"style_set"_cb signal listening has been removed from nsWindow because it has multiply call... In this case text in buttons never changed in current GTK2 environment... I did not found any gtk-theme-name signals in current GTK...
I thought we did support dynamic theme changes already. Did this regress?
Comment on attachment 278570 [details] [diff] [review] This patch supposed to fix problem with theme chaning in GTK2.... bryner's not doing reviews anymore
(In reply to comment #1) > I thought we did support dynamic theme changes already. You mean this "gtk-theme-name" strange signal, which not declared anywhere? > Did this regress? > We are not using gtk_paint_text for drawing text, and after theme change we have to reread Text Font color and other colors from GTK.... but it does not happens because only style_set signal emitted...
I'm confused <google cache> http://184.108.40.206/search?q=cache:CG7vwpqJMwoJ:sourceforge.net/mailarchive/forum.php%3Fforum_id%3D5947%26max_rows%3D25%26style%3Dnested%26viewmonth%3D200201+g_object_notify&hl=en&ct=clnk&cd=12&client=firefox-a http://mail.gnome.org/archives/gtk-devel-list/2001-October/msg00373.html <local xref of gtk+2.0 2.10.12> gtk+2.0-2.10.12/gtk/gtkrc.c 670 gtk_rc_context_get (GtkSettings *settings) ... 685 g_object_get (settings, 686 "gtk-theme-name", &context->theme_name, 687 "gtk-key-theme-name", &context->key_theme_name, 688 "gtk-font-name", &context->font_name, 689 "color-hash", &context->color_hash, 690 NULL); 691 692 g_signal_connect (settings, 693 "notify::gtk-theme-name", 694 G_CALLBACK (gtk_rc_settings_changed), 695 context);
Using Gecko/2008012504 Minefield/3.0b3pre. When changing the theme, most (if not all) widgets are updated correctly. Those include input boxes, checkboxes and drop-down arrows. However, icons, such as those in the navigation toolbar, are not updated.
+ if (mContainer) + g_signal_handlers_disconnect_by_func(G_OBJECT(mContainer), + (gpointer)G_CALLBACK(theme_changed_cb), + this); Why do we need this? The other callbacks registered on mContainer don't need to be disconnected. What's the purpose of the timeout? What was the bug that removed the style-set listener?
>Why do we need this? The other callbacks registered on mContainer don't need to > be disconnected. Ok, seems we can remove that. While theme is changing we are getting too many "style_set" signals, and we need to filter them to avoid performance problems... see: https://bugzilla.mozilla.org/show_bug.cgi?id=305970, and https://bugzilla.mozilla.org/attachment.cgi?id=204011
That might not be needed anymore: see bug 352096 which was fixed after that. Try removing your timer stuff and retest performance during theme changes.
Comment on attachment 347186 [details] [diff] [review] Updated to trunk. minusing until comment #9 is addressed
Attachment #347186 - Flags: review?(roc) → review-
Closing GTK2 related bugs since we removed GTK2 support at the beginning of 2018 in bug 1278282. Probably best to open a new bug in the unlikely event that any of these are still relevant.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.