From 7ae7356284b7c82080d1fe27922334ca4c51ff52 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 31 May 2023 17:13:05 -0400 Subject: [PATCH 1/3] NEWS: Cosmetics --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 64431d0258..c24c1494de 100644 --- a/NEWS +++ b/NEWS @@ -20,7 +20,7 @@ Overview of Changes in 4.11.3, xx-xx-xxxx * GtkPopoverMenu: - Avoid unnecessary left padding -* Css: +* CSS: - Add new binding-friendly css provider apis * GDK: From 85bafbdff07195b2c4234ff05ce32b189a67f158 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 31 May 2023 20:34:28 -0400 Subject: [PATCH 2/3] wayland: Don't leak cursor structs Found by gcc's -fanalyzer. --- gdk/wayland/cursor/wayland-cursor.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/gdk/wayland/cursor/wayland-cursor.c b/gdk/wayland/cursor/wayland-cursor.c index 4be8f9a4d4..957a577ab7 100644 --- a/gdk/wayland/cursor/wayland-cursor.c +++ b/gdk/wayland/cursor/wayland-cursor.c @@ -207,7 +207,7 @@ wl_cursor_create_from_xcursor_images(struct wl_cursor_theme *theme, { char *path; XcursorImages *images; - struct cursor *cursor; + struct wl_cursor *cursor; struct cursor_image *image; int i, nbytes; unsigned int load_size; @@ -240,17 +240,16 @@ wl_cursor_create_from_xcursor_images(struct wl_cursor_theme *theme, return NULL; } - cursor->cursor.images = - malloc(images->nimage * sizeof cursor->cursor.images[0]); - if (!cursor->cursor.images) { + cursor->images = + malloc(images->nimage * sizeof cursor->images[0]); + if (!cursor->images) { free(cursor); xcursor_images_destroy (images); return NULL; } - cursor->cursor.name = strdup(name); - cursor->cursor.size = load_size; - cursor->total_delay = 0; + cursor->name = strdup(name); + cursor->size = load_size; for (i = 0; i < images->nimage; i++) { image = malloc(sizeof *image); @@ -291,14 +290,13 @@ wl_cursor_create_from_xcursor_images(struct wl_cursor_theme *theme, } } } - cursor->total_delay += image->image.delay; - cursor->cursor.images[i] = (struct wl_cursor_image *) image; + cursor->images[i] = (struct wl_cursor_image *) image; } - cursor->cursor.image_count = i; + cursor->image_count = i; - if (cursor->cursor.image_count == 0) { - free(cursor->cursor.name); - free(cursor->cursor.images); + if (cursor->image_count == 0) { + free(cursor->name); + free(cursor->images); free(cursor); xcursor_images_destroy (images); return NULL; @@ -306,7 +304,7 @@ wl_cursor_create_from_xcursor_images(struct wl_cursor_theme *theme, xcursor_images_destroy (images); - return &cursor->cursor; + return cursor; } static void From d427933c61554bde86ca3f4a3c67d29efa27d28c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 31 May 2023 20:35:17 -0400 Subject: [PATCH 3/3] testsuite: Improve test coverage --- testsuite/gdk/display.c | 18 ++++++++++++++++++ testsuite/gdk/displaymanager.c | 9 +++++++++ 2 files changed, 27 insertions(+) diff --git a/testsuite/gdk/display.c b/testsuite/gdk/display.c index ca1d668f8a..16be96db63 100644 --- a/testsuite/gdk/display.c +++ b/testsuite/gdk/display.c @@ -65,6 +65,23 @@ test_bad_display (void) g_test_trap_assert_stderr ("*Failed to open display*"); } +static void +test_debug_help (void) +{ + if (g_test_subprocess ()) + { + g_setenv ("GDK_DEBUG", "help", TRUE); + + gtk_init_check (); + return; + } + + g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT); + g_test_trap_assert_passed (); + g_test_trap_assert_stderr ("*Supported GDK_DEBUG values:*"); + g_test_trap_assert_stderr ("*Multiple values can be given, separated by : or space.*"); +} + int main (int argc, char *argv[]) { @@ -78,6 +95,7 @@ main (int argc, char *argv[]) g_test_add_func ("/display/bad-display", test_bad_display); g_test_add_func ("/display/bad-display/subprocess/1", test_bad_display_subprocess1); g_test_add_func ("/display/bad-display/subprocess/2", test_bad_display_subprocess2); + g_test_add_func ("/debug/help", test_debug_help); return g_test_run (); } diff --git a/testsuite/gdk/displaymanager.c b/testsuite/gdk/displaymanager.c index 89627444e7..5a8f607829 100644 --- a/testsuite/gdk/displaymanager.c +++ b/testsuite/gdk/displaymanager.c @@ -40,6 +40,14 @@ test_set_default (void) g_assert_true (d == d2); } +static void +test_display_basic (void) +{ + GdkDisplay *d = gdk_display_get_default (); + + g_assert_false (gdk_display_is_closed (d)); +} + int main (int argc, char *argv[]) { @@ -48,6 +56,7 @@ main (int argc, char *argv[]) /* Open default display */ gdk_display_open (NULL); + g_test_add_func ("/display/basic", test_display_basic); g_test_add_func ("/displaymanager/basic", test_basic); g_test_add_func ("/displaymanager/set-default", test_set_default);