summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-03-18 21:43:14 +0000
committerMatthias Clasen <mclasen@redhat.com>2021-03-18 21:43:14 +0000
commit1536f6a59c747fbc4f89cd263d22d1399d01807e (patch)
tree5cc0a983f521a91f7debd3538705d74d4a7cc846
parent574b0bf48a95e4963fd2864a1c3cbb288189a272 (diff)
parenteaf09a46256f14511a6c9a2c7f38d2344b2a0475 (diff)
downloadgtk+-1536f6a59c747fbc4f89cd263d22d1399d01807e.tar.gz
Merge branch 'matthiasc/for-master' into 'master'
inspector: Respect GDK_DEBUG=vulkan-disable Closes #3748 See merge request GNOME/gtk!3312
-rw-r--r--gtk/gtkimage.c4
-rw-r--r--gtk/gtklabel.c6
-rw-r--r--gtk/inspector/general.c21
3 files changed, 23 insertions, 8 deletions
diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c
index 915eacbe60..abe5694c71 100644
--- a/gtk/gtkimage.c
+++ b/gtk/gtkimage.c
@@ -1091,9 +1091,7 @@ gtk_image_get_baseline_align (GtkImage *image)
if (image->baseline_align == 0.0)
{
pango_context = gtk_widget_get_pango_context (GTK_WIDGET (image));
- metrics = pango_context_get_metrics (pango_context,
- pango_context_get_font_description (pango_context),
- pango_context_get_language (pango_context));
+ metrics = pango_context_get_metrics (pango_context, NULL, NULL);
image->baseline_align =
(float)pango_font_metrics_get_ascent (metrics) /
(pango_font_metrics_get_ascent (metrics) + pango_font_metrics_get_descent (metrics));
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index 09e167dd4e..10d65667e9 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -1039,14 +1039,12 @@ get_char_pixels (GtkWidget *self,
int char_width, digit_width;
context = pango_layout_get_context (layout);
- metrics = pango_context_get_metrics (context,
- pango_context_get_font_description (context),
- pango_context_get_language (context));
+ metrics = pango_context_get_metrics (context, NULL, NULL);
char_width = pango_font_metrics_get_approximate_char_width (metrics);
digit_width = pango_font_metrics_get_approximate_digit_width (metrics);
pango_font_metrics_unref (metrics);
- return MAX (char_width, digit_width);;
+ return MAX (char_width, digit_width);
}
static void
diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c
index b48836190c..3bc2c5a2cd 100644
--- a/gtk/inspector/general.c
+++ b/gtk/inspector/general.c
@@ -294,6 +294,13 @@ wayland_get_display (struct wl_display *wl_display)
static void
init_gl (GtkInspectorGeneral *gen)
{
+ if (gdk_display_get_debug_flags (gen->display) & GDK_DEBUG_GL_DISABLE)
+ {
+ gtk_label_set_text (GTK_LABEL (gen->gl_version), C_("GL version", "Disabled"));
+ gtk_label_set_text (GTK_LABEL (gen->gl_vendor), C_("GL vendor", "Disabled"));
+ return;
+ }
+
#ifdef GDK_WINDOWING_X11
if (GDK_IS_X11_DISPLAY (gen->display))
{
@@ -329,7 +336,11 @@ init_gl (GtkInspectorGeneral *gen)
dpy = wayland_get_display (gdk_wayland_display_get_wl_display (gen->display));
if (!eglInitialize (dpy, &major, &minor))
- return;
+ {
+ gtk_label_set_text (GTK_LABEL (gen->gl_version), C_("GL version", "None"));
+ gtk_label_set_text (GTK_LABEL (gen->gl_vendor), C_("GL vendor", "None"));
+ return;
+ }
version = g_strconcat ("EGL ", eglQueryString (dpy, EGL_VERSION), NULL);
gtk_label_set_text (GTK_LABEL (gen->gl_version), version);
@@ -394,6 +405,14 @@ init_vulkan (GtkInspectorGeneral *gen)
GdkSurface *surface;
GdkVulkanContext *context;
+ if (gdk_display_get_debug_flags (gen->display) & GDK_DEBUG_VULKAN_DISABLE)
+ {
+ gtk_label_set_text (GTK_LABEL (gen->vk_device), C_("Vulkan device", "Disabled"));
+ gtk_label_set_text (GTK_LABEL (gen->vk_api_version), C_("Vulkan version", "Disabled"));
+ gtk_label_set_text (GTK_LABEL (gen->vk_driver_version), C_("Vulkan version", "Disabled"));
+ return;
+ }
+
surface = gdk_surface_new_toplevel (gen->display);
context = gdk_surface_create_vulkan_context (surface, NULL);
gdk_surface_destroy (surface);