diff options
author | Alexander Mikhaylenko <alexm@gnome.org> | 2022-10-09 19:45:43 +0400 |
---|---|---|
committer | Marge Bot <marge-bot@gnome.org> | 2022-10-09 16:16:27 +0000 |
commit | d008fd639471f3d528f018aea80826e353c415e3 (patch) | |
tree | 78d4fd8ad3321c2a5a9c681593ff2c9e6d9794ec | |
parent | 7bceeb11c905ee5463bb89bc778ff588c8cf0faf (diff) | |
download | epiphany-d008fd639471f3d528f018aea80826e353c415e3.tar.gz |
extension-manager: Simplify finding actions
Part-of: <https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/1198>
-rw-r--r-- | src/webextension/ephy-web-extension-manager.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/src/webextension/ephy-web-extension-manager.c b/src/webextension/ephy-web-extension-manager.c index 6117dfa07..2cb6b9340 100644 --- a/src/webextension/ephy-web-extension-manager.c +++ b/src/webextension/ephy-web-extension-manager.c @@ -1150,9 +1150,6 @@ create_browser_action (EphyWebExtension *web_extension, gtk_button_set_image (GTK_BUTTON (button), image); } - /* This makes it much easier then going through layers of HeaderBars and ActionBars */ - g_object_set_data (G_OBJECT (button), "window", window); - gtk_widget_set_visible (button, TRUE); return button; @@ -1416,16 +1413,10 @@ ephy_web_extension_manager_set_active (EphyWebExtensionManager *self, } gint -get_browser_action_for_window (gconstpointer value, - gconstpointer user_data) +get_browser_action_for_window (GtkWidget *widget, + GtkWidget *window) { - const EphyWindow *window = user_data; - const GtkWidget *widget = value; - - if (g_object_get_data (G_OBJECT (widget), "window") == window) - return 0; - - return -1; + return gtk_widget_get_toplevel (widget) != window; } @@ -1439,7 +1430,7 @@ ephy_web_extension_manager_activate_browser_action (EphyWebExtensionManager *sel table = g_hash_table_lookup (self->browser_action_map, web_extension); if (table) { - l = g_slist_find_custom (table, window, get_browser_action_for_window); + l = g_slist_find_custom (table, window, (GCompareFunc)get_browser_action_for_window); g_assert (l && l->data); |