diff options
author | Matthias Clasen <mclasen@redhat.com> | 2019-12-07 12:31:10 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2019-12-07 18:07:05 -0500 |
commit | f0f57d156b014abbbec843d5306cfb03874ecee4 (patch) | |
tree | 81e6c27d14b02b5d8a99005742047c88de82f746 /gtk/inspector | |
parent | cecf4f27630a819e1dc25dcf88d1bc3fe93422eb (diff) | |
download | gtk+-f0f57d156b014abbbec843d5306cfb03874ecee4.tar.gz |
inspector: Make logs respect inspected display
Diffstat (limited to 'gtk/inspector')
-rw-r--r-- | gtk/inspector/logs.c | 37 | ||||
-rw-r--r-- | gtk/inspector/logs.h | 3 | ||||
-rw-r--r-- | gtk/inspector/window.c | 3 | ||||
-rw-r--r-- | gtk/inspector/window.h | 1 | ||||
-rw-r--r-- | gtk/inspector/window.ui | 2 |
5 files changed, 29 insertions, 17 deletions
diff --git a/gtk/inspector/logs.c b/gtk/inspector/logs.c index 767772eb77..a83d32b671 100644 --- a/gtk/inspector/logs.c +++ b/gtk/inspector/logs.c @@ -24,6 +24,7 @@ #include <glib/gi18n-lib.h> #include "logs.h" +#include "window.h" #include "gtktextview.h" #include "gtkmessagedialog.h" @@ -33,6 +34,7 @@ #include "gtktooltip.h" #include "gtktextiter.h" #include "gtkprivate.h" +#include "gtkroot.h" #include "gtkdebug.h" #include "gdkinternals.h" #include "gtknative.h" @@ -72,6 +74,8 @@ struct _GtkInspectorLogsPrivate GtkWidget *printing; GtkWidget *tree; GtkWidget *text; + + GdkDisplay *display; }; G_DEFINE_TYPE_WITH_PRIVATE (GtkInspectorLogs, gtk_inspector_logs, GTK_TYPE_BOX) @@ -107,12 +111,9 @@ flag_toggled (GtkWidget *button, GtkInspectorLogs *logs) { guint flags; - GdkDisplay *display; GList *toplevels, *l; - display = gdk_display_get_default (); - - flags = gdk_display_get_debug_flags (display); + flags = gdk_display_get_debug_flags (logs->priv->display); update_flag (logs->priv->events, &flags, GDK_DEBUG_EVENTS); update_flag (logs->priv->misc, &flags, GDK_DEBUG_MISC); update_flag (logs->priv->dnd, &flags, GDK_DEBUG_DND); @@ -124,7 +125,7 @@ flag_toggled (GtkWidget *button, update_flag (logs->priv->vulkan, &flags, GDK_DEBUG_VULKAN); update_flag (logs->priv->selection, &flags, GDK_DEBUG_SELECTION); update_flag (logs->priv->clipboard, &flags, GDK_DEBUG_CLIPBOARD); - gdk_display_set_debug_flags (display, flags); + gdk_display_set_debug_flags (logs->priv->display, flags); flags = gsk_get_debug_flags (); update_flag (logs->priv->renderer, &flags, GSK_DEBUG_RENDERER); @@ -141,20 +142,17 @@ flag_toggled (GtkWidget *button, for (l = toplevels; l; l = l->next) { GtkWidget *toplevel = l->data; - GskRenderer *renderer; - - if ((GtkRoot *)toplevel == gtk_widget_get_root (button)) /* skip the inspector */ - continue; - renderer = gtk_native_get_renderer (GTK_NATIVE (toplevel)); - if (!renderer) - continue; - - gsk_renderer_set_debug_flags (renderer, flags); + if (gtk_root_get_display (GTK_ROOT (toplevel)) == logs->priv->display) + { + GskRenderer *renderer = gtk_native_get_renderer (GTK_NATIVE (toplevel)); + if (renderer) + gsk_renderer_set_debug_flags (renderer, flags); + } } g_list_free (toplevels); - flags = gtk_get_display_debug_flags (display); + flags = gtk_get_display_debug_flags (logs->priv->display); update_flag (logs->priv->actions, &flags, GTK_DEBUG_ACTIONS); update_flag (logs->priv->builder, &flags, GTK_DEBUG_BUILDER); update_flag (logs->priv->sizes, &flags, GTK_DEBUG_SIZE_REQUEST); @@ -164,7 +162,7 @@ flag_toggled (GtkWidget *button, update_flag (logs->priv->printing, &flags, GTK_DEBUG_PRINTING); update_flag (logs->priv->tree, &flags, GTK_DEBUG_TREE); update_flag (logs->priv->text, &flags, GTK_DEBUG_TEXT); - gtk_set_display_debug_flags (display, flags); + gtk_set_display_debug_flags (logs->priv->display, flags); } static void @@ -208,4 +206,11 @@ gtk_inspector_logs_class_init (GtkInspectorLogsClass *klass) gtk_widget_class_bind_template_callback (widget_class, flag_toggled); } +void +gtk_inspector_logs_set_display (GtkInspectorLogs *logs, + GdkDisplay *display) +{ + logs->priv->display = display; +} + // vim: set et sw=2 ts=2: diff --git a/gtk/inspector/logs.h b/gtk/inspector/logs.h index 2ead4740fe..c88fe85a42 100644 --- a/gtk/inspector/logs.h +++ b/gtk/inspector/logs.h @@ -49,6 +49,9 @@ typedef struct _GtkInspectorLogsClass G_BEGIN_DECLS GType gtk_inspector_logs_get_type (void); +void gtk_inspector_logs_set_display (GtkInspectorLogs *logs, + GdkDisplay *display); + G_END_DECLS diff --git a/gtk/inspector/window.c b/gtk/inspector/window.c index 3b173f73c5..2a80507977 100644 --- a/gtk/inspector/window.c +++ b/gtk/inspector/window.c @@ -43,6 +43,7 @@ #include "recorder.h" #include "visual.h" #include "general.h" +#include "logs.h" #include "gdk-private.h" #include "gskrendererprivate.h" @@ -272,6 +273,7 @@ gtk_inspector_window_constructed (GObject *object) gtk_inspector_css_editor_set_display (GTK_INSPECTOR_CSS_EDITOR (iw->css_editor), iw->inspected_display); gtk_inspector_visual_set_display (GTK_INSPECTOR_VISUAL (iw->visual), iw->inspected_display); gtk_inspector_general_set_display (GTK_INSPECTOR_GENERAL (iw->general), iw->inspected_display); + gtk_inspector_logs_set_display (GTK_INSPECTOR_LOGS (iw->logs), iw->inspected_display); } static void @@ -424,6 +426,7 @@ gtk_inspector_window_class_init (GtkInspectorWindowClass *klass) gtk_widget_class_bind_template_child (widget_class, GtkInspectorWindow, css_editor); gtk_widget_class_bind_template_child (widget_class, GtkInspectorWindow, visual); gtk_widget_class_bind_template_child (widget_class, GtkInspectorWindow, general); + gtk_widget_class_bind_template_child (widget_class, GtkInspectorWindow, logs); gtk_widget_class_bind_template_callback (widget_class, gtk_inspector_on_inspect); gtk_widget_class_bind_template_callback (widget_class, on_object_activated); diff --git a/gtk/inspector/window.h b/gtk/inspector/window.h index 90e455fb4d..3f29706141 100644 --- a/gtk/inspector/window.h +++ b/gtk/inspector/window.h @@ -74,6 +74,7 @@ typedef struct GtkWidget *css_editor; GtkWidget *visual; GtkWidget *general; + GtkWidget *logs; GtkWidget *selected_widget; diff --git a/gtk/inspector/window.ui b/gtk/inspector/window.ui index 32ef89dccc..dbf005fc62 100644 --- a/gtk/inspector/window.ui +++ b/gtk/inspector/window.ui @@ -504,7 +504,7 @@ <property name="name">logs</property> <property name="title" translatable="yes">Logging</property> <property name="child"> - <object class="GtkInspectorLogs"/> + <object class="GtkInspectorLogs" id="logs"/> </property> </object> </child> |