# HG changeset patch # User Colin Clark # Date 1550145904 0 # Node ID 2e7fd08bfbe41e8e8dcb5d554454f1a528ae79b1 # Parent ea58314bd19d429d584abe2bb1618bc6bbb36c56 DEBUG_NAME() function for use with GTKInspector This debug function can be used with GTKInspector to provide a visual indication of where a widget is declared. This is a documentation facility to aid developers new to the project. Sample call: GTK_DEBUG=interactive src/geeqie diff -r ea58314bd19d -r 2e7fd08bfbe4 CODING --- a/CODING Wed Feb 13 11:47:38 2019 +0000 +++ b/CODING Thu Feb 14 12:05:04 2019 +0000 @@ -9,6 +9,15 @@ If the first word of the message is "error" or "warning" (case insensitive) the message will be color-coded appropriately. + +GTKInspector: + +DEBUG_NAME(widget) +For use with the GTKInspector to provide a visual indication of where objects are declared. + +Sample command line call: +GTK_DEBUG=interactive src/geeqie + -------------------------------------------------------------------------------- GPL header, in every file, like this: diff -r ea58314bd19d -r 2e7fd08bfbe4 src/advanced_exif.c --- a/src/advanced_exif.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/advanced_exif.c Thu Feb 14 12:05:04 2019 +0000 @@ -382,6 +382,7 @@ ew = g_new0(ExifWin, 1); ew->window = window_new(GTK_WINDOW_TOPLEVEL, "view", NULL, NULL, _("Metadata")); + DEBUG_NAME(ew->window); geometry.min_width = 900; geometry.min_height = 600; diff -r ea58314bd19d -r 2e7fd08bfbe4 src/bar.c --- a/src/bar.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/bar.c Thu Feb 14 12:05:04 2019 +0000 @@ -589,6 +589,7 @@ pd->bar = bar; expander = gtk_expander_new(NULL); + DEBUG_NAME(expander); if (pd && pd->title) { gtk_expander_set_label_widget(GTK_EXPANDER(expander), pd->title); @@ -686,6 +687,7 @@ bd->lw = lw; bd->widget = gtk_vbox_new(FALSE, PREF_PAD_GAP); + DEBUG_NAME(bd->widget); g_object_set_data(G_OBJECT(bd->widget), "bar_data", bd); g_signal_connect(G_OBJECT(bd->widget), "destroy", G_CALLBACK(bar_destroy), bd); @@ -699,6 +701,7 @@ gtk_widget_set_size_request(bd->widget, bd->width, -1); box = gtk_hbox_new(FALSE, 0); + DEBUG_NAME(box); bd->label_file_name = gtk_label_new(""); gtk_label_set_ellipsize(GTK_LABEL(bd->label_file_name), PANGO_ELLIPSIZE_END); @@ -711,6 +714,7 @@ gtk_widget_show(box); scrolled = gtk_scrolled_window_new(NULL, NULL); + DEBUG_NAME(scrolled); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_box_pack_start(GTK_BOX(bd->widget), scrolled, TRUE, TRUE, 0); @@ -722,6 +726,7 @@ gtk_viewport_set_shadow_type(GTK_VIEWPORT(gtk_bin_get_child(GTK_BIN(scrolled))), GTK_SHADOW_NONE); add_box = gtk_vbox_new(FALSE, 0); + DEBUG_NAME(add_box); gtk_box_pack_end(GTK_BOX(bd->widget), add_box, FALSE, FALSE, 0); tbar = pref_toolbar_new(add_box, GTK_TOOLBAR_ICONS); bd->add_button = pref_toolbar_button(tbar, GTK_STOCK_ADD, NULL, FALSE, diff -r ea58314bd19d -r 2e7fd08bfbe4 src/bar_gps.c --- a/src/bar_gps.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/bar_gps.c Thu Feb 14 12:05:04 2019 +0000 @@ -934,6 +934,7 @@ pgd->height = height; frame = gtk_frame_new(NULL); + DEBUG_NAME(frame); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gpswidget = gtk_champlain_embed_new(); diff -r ea58314bd19d -r 2e7fd08bfbe4 src/bar_sort.c --- a/src/bar_sort.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/bar_sort.c Thu Feb 14 12:05:04 2019 +0000 @@ -644,6 +644,7 @@ sd->undo_collection = NULL; sd->vbox = gtk_vbox_new(FALSE, PREF_PAD_GAP); + DEBUG_NAME(sd->vbox); g_object_set_data(G_OBJECT(sd->vbox), "bar_sort_data", sd); g_signal_connect(G_OBJECT(sd->vbox), "destroy", G_CALLBACK(bar_sort_destroy), sd); @@ -664,6 +665,7 @@ G_CALLBACK(bar_sort_mode_cb), sd); sd->folder_group = pref_box_new(sd->vbox, FALSE, GTK_ORIENTATION_VERTICAL, 0); + DEBUG_NAME(sd->folder_group); buttongrp = pref_radiobutton_new(sd->folder_group, NULL, _("Copy"), (sd->action == BAR_SORT_COPY), @@ -715,10 +717,12 @@ G_CALLBACK(bar_sort_set_selection_selected_cb), sd); sd->bookmarks = bookmark_list_new(SORT_KEY_FOLDERS, bar_sort_bookmark_select, sd); + DEBUG_NAME(sd->bookmarks); gtk_box_pack_start(GTK_BOX(sd->vbox), sd->bookmarks, TRUE, TRUE, 0); gtk_widget_show(sd->bookmarks); tbar = pref_toolbar_new(sd->vbox, GTK_TOOLBAR_ICONS); + DEBUG_NAME(tbar); sd->add_button = pref_toolbar_button(tbar, GTK_STOCK_ADD, NULL, FALSE, _("Add Bookmark"), diff -r ea58314bd19d -r 2e7fd08bfbe4 src/collect.c --- a/src/collect.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/collect.c Thu Feb 14 12:05:04 2019 +0000 @@ -1316,6 +1316,7 @@ cw->cd = collection_new(path); cw->window = window_new(GTK_WINDOW_TOPLEVEL, "collection", PIXBUF_INLINE_ICON_BOOK, NULL, NULL); + DEBUG_NAME(cw->window); geometry.min_width = DEFAULT_MINIMAL_WINDOW_SIZE; geometry.min_height = DEFAULT_MINIMAL_WINDOW_SIZE; @@ -1362,6 +1363,7 @@ gtk_widget_show(cw->status_box); frame = gtk_frame_new(NULL); + DEBUG_NAME(frame); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); gtk_box_pack_start(GTK_BOX(cw->status_box), frame, TRUE, TRUE, 0); gtk_widget_show(frame); diff -r ea58314bd19d -r 2e7fd08bfbe4 src/debug.h --- a/src/debug.h Wed Feb 13 11:47:38 2019 +0000 +++ b/src/debug.h Thu Feb 14 12:05:04 2019 +0000 @@ -61,6 +61,18 @@ } \ } while (0) +/** + * @brief For use with the GTKInspector (>GTK 3.14) + * + * To simplify finding where objects are declared + * Sample command line call: + * GTK_DEBUG=interactive src/geeqie + */ +#define DEBUG_NAME(widget) do \ + { \ + gtk_widget_set_name(GTK_WIDGET(widget), g_strdup_printf("%s:%d", __FILE__, __LINE__, NULL)); \ + } while(0) + #else /* DEBUG */ #define get_regexp() (0) @@ -74,6 +86,8 @@ #define DEBUG_N(n, ...) do { } while(0) +#define DEBUG_NAME(widget) do { } while(0) + #endif /* DEBUG */ #define DEBUG_0(...) DEBUG_N(0, __VA_ARGS__) diff -r ea58314bd19d -r 2e7fd08bfbe4 src/desktop_file.c --- a/src/desktop_file.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/desktop_file.c Thu Feb 14 12:05:04 2019 +0000 @@ -189,6 +189,7 @@ ew->window = window_new(GTK_WINDOW_TOPLEVEL, "Desktop", PIXBUF_INLINE_ICON_CONFIG, NULL, _("Desktop file")); + DEBUG_NAME(ew->window); gtk_window_set_type_hint(GTK_WINDOW(ew->window), GDK_WINDOW_TYPE_HINT_DIALOG); g_signal_connect(G_OBJECT(ew->window), "delete_event", @@ -546,6 +547,7 @@ editor_list_window = ewl = g_new0(EditorListWindow, 1); ewl->window = window_new(GTK_WINDOW_TOPLEVEL, "editors", PIXBUF_INLINE_ICON_CONFIG, NULL, _("Plugins")); + DEBUG_NAME(ewl->window); gtk_window_set_type_hint(GTK_WINDOW(ewl->window), GDK_WINDOW_TYPE_HINT_DIALOG); g_signal_connect(G_OBJECT(ewl->window), "delete_event", G_CALLBACK(editor_list_window_delete), NULL); diff -r ea58314bd19d -r 2e7fd08bfbe4 src/dupe.c --- a/src/dupe.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/dupe.c Thu Feb 14 12:05:04 2019 +0000 @@ -3278,6 +3278,7 @@ if (options->duplicates_match == DUPE_MATCH_NAME_CI) dw->match_mask = DUPE_MATCH_NAME_CI; dw->window = window_new(GTK_WINDOW_TOPLEVEL, "dupe", NULL, NULL, _("Find duplicates")); + DEBUG_NAME(dw->window); geometry.min_width = DEFAULT_MINIMAL_WINDOW_SIZE; geometry.min_height = DEFAULT_MINIMAL_WINDOW_SIZE; @@ -3408,6 +3409,7 @@ gtk_widget_show(status_box); frame = gtk_frame_new(NULL); + DEBUG_NAME(frame); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); gtk_box_pack_start(GTK_BOX(status_box), frame, TRUE, TRUE, 0); gtk_widget_show(frame); diff -r ea58314bd19d -r 2e7fd08bfbe4 src/fullscreen.c --- a/src/fullscreen.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/fullscreen.c Thu Feb 14 12:05:04 2019 +0000 @@ -240,6 +240,7 @@ &screen, &fs->same_region); fs->window = window_new(GTK_WINDOW_TOPLEVEL, "fullscreen", NULL, NULL, _("Full screen")); + DEBUG_NAME(fs->window); g_signal_connect(G_OBJECT(fs->window), "delete_event", G_CALLBACK(fullscreen_delete_cb), fs); @@ -655,6 +656,7 @@ if (!screen_value) return NULL; vbox = gtk_vbox_new(FALSE, PREF_PAD_GAP); + DEBUG_NAME(vbox); hbox = pref_box_new(vbox, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE); if (text) pref_label_new(hbox, text); diff -r ea58314bd19d -r 2e7fd08bfbe4 src/image.c --- a/src/image.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/image.c Thu Feb 14 12:05:04 2019 +0000 @@ -2098,6 +2098,7 @@ if (frame) { imd->frame = gtk_frame_new(NULL); + DEBUG_NAME(imd->frame); g_object_ref(imd->pr); if (imd->has_frame != -1) gtk_container_remove(GTK_CONTAINER(imd->widget), imd->pr); gtk_container_add(GTK_CONTAINER(imd->frame), imd->pr); @@ -2152,10 +2153,12 @@ imd->orientation = 1; imd->pr = GTK_WIDGET(pixbuf_renderer_new()); + DEBUG_NAME(imd->pr); image_options_set(imd); imd->widget = gtk_vbox_new(0, 0); + DEBUG_NAME(imd->widget); image_set_frame(imd, frame); diff -r ea58314bd19d -r 2e7fd08bfbe4 src/img-view.c --- a/src/img-view.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/img-view.c Thu Feb 14 12:05:04 2019 +0000 @@ -834,6 +834,7 @@ vw = g_new0(ViewWindow, 1); vw->window = window_new(GTK_WINDOW_TOPLEVEL, "view", PIXBUF_INLINE_ICON_VIEW, NULL, NULL); + DEBUG_NAME(vw->window); geometry.min_width = DEFAULT_MINIMAL_WINDOW_SIZE; geometry.min_height = DEFAULT_MINIMAL_WINDOW_SIZE; diff -r ea58314bd19d -r 2e7fd08bfbe4 src/layout.c --- a/src/layout.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/layout.c Thu Feb 14 12:05:04 2019 +0000 @@ -316,12 +316,14 @@ box = gtk_vbox_new(FALSE, 0); menu_tool_bar = layout_actions_menu_tool_bar(lw); + DEBUG_NAME(menu_tool_bar); gtk_widget_show(menu_tool_bar); gtk_box_pack_start(GTK_BOX(lw->main_box), lw->menu_tool_bar, FALSE, FALSE, 0); if (lw->options.toolbar_hidden) gtk_widget_hide(lw->toolbar[TOOLBAR_MAIN]); tabcomp = tab_completion_new_with_history(&lw->path_entry, NULL, "path_list", -1, layout_path_entry_cb, lw); + DEBUG_NAME(tabcomp); tab_completion_add_tab_func(lw->path_entry, layout_path_entry_tab_cb, lw); tab_completion_add_append_func(lw->path_entry, layout_path_entry_tab_append_cb, lw); gtk_box_pack_start(GTK_BOX(box), tabcomp, FALSE, FALSE, 0); @@ -338,6 +340,7 @@ #endif box_folders = GTK_WIDGET(gtk_hpaned_new()); + DEBUG_NAME(box_folders); gtk_box_pack_start(GTK_BOX(box), box_folders, TRUE, TRUE, 0); lw->vd = vd_new(lw->options.dir_view_type, lw->dir_fd); @@ -345,10 +348,12 @@ vd_set_select_func(lw->vd, layout_vd_select_cb, lw); lw->dir_view = lw->vd->widget; + DEBUG_NAME(lw->dir_view); gtk_paned_add2(GTK_PANED(box_folders), lw->dir_view); gtk_widget_show(lw->dir_view); scd = shortcuts_new_default(lw); + DEBUG_NAME(scd); gtk_paned_add1(GTK_PANED(box_folders), scd); gtk_paned_set_position(GTK_PANED(box_folders), lw->options.folder_window.vdivider_pos); @@ -445,6 +450,7 @@ GtkWidget *button; button = gtk_button_new_with_label(sort_type_get_text(lw->sort_method)); + DEBUG_NAME(button); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(layout_sort_button_press_cb), lw); gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); @@ -541,6 +547,7 @@ frame = gtk_frame_new(NULL); + DEBUG_NAME(frame); if (size) gtk_widget_set_size_request(frame, size, -1); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); @@ -735,6 +742,7 @@ GtkWidget *frame; frame = gtk_frame_new(NULL); + DEBUG_NAME(frame); if (size) gtk_widget_set_size_request(frame, size, -1); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); if (start) @@ -765,10 +773,12 @@ if (small_format) { lw->info_box = gtk_vbox_new(FALSE, 0); + DEBUG_NAME(lw->info_box); } else { lw->info_box = gtk_hbox_new(FALSE, 0); + DEBUG_NAME(lw->info_box); } gtk_box_pack_end(GTK_BOX(box), lw->info_box, FALSE, FALSE, 0); gtk_widget_show(lw->info_box); @@ -776,6 +786,7 @@ if (small_format) { hbox = gtk_hbox_new(FALSE, 0); + DEBUG_NAME(hbox); gtk_box_pack_start(GTK_BOX(lw->info_box), hbox, FALSE, FALSE, 0); gtk_widget_show(hbox); } @@ -784,6 +795,7 @@ hbox = lw->info_box; } lw->info_progress_bar = gtk_progress_bar_new(); + DEBUG_NAME(lw->info_progress_bar); gtk_widget_set_size_request(lw->info_progress_bar, PROGRESS_WIDTH, -1); #if GTK_CHECK_VERSION(3,0,0) gtk_progress_bar_set_text(GTK_PROGRESS_BAR(lw->info_progress_bar), ""); @@ -798,19 +810,23 @@ gtk_widget_show(lw->info_sort); lw->info_status = layout_status_label(NULL, lw->info_box, TRUE, 0, (!small_format)); + DEBUG_NAME(lw->info_status); gtk_widget_set_tooltip_text(GTK_WIDGET(lw->info_status), _("Folder contents (files selected)")); if (small_format) { hbox = gtk_hbox_new(FALSE, 0); + DEBUG_NAME(hbox); gtk_box_pack_start(GTK_BOX(lw->info_box), hbox, FALSE, FALSE, 0); gtk_widget_show(hbox); } lw->info_details = layout_status_label(NULL, hbox, TRUE, 0, TRUE); + DEBUG_NAME(lw->info_details); gtk_widget_set_tooltip_text(GTK_WIDGET(lw->info_details), _("(Image dimensions) Image size")); toolbar = layout_actions_toolbar(lw, TOOLBAR_STATUS); toolbar_frame = gtk_frame_new(NULL); + DEBUG_NAME(toolbar_frame); gtk_frame_set_shadow_type(GTK_FRAME(toolbar_frame), GTK_SHADOW_IN); gtk_container_add(GTK_CONTAINER(toolbar_frame), toolbar); gtk_widget_show(toolbar_frame); @@ -823,10 +839,12 @@ if (small_format) { hbox = gtk_hbox_new(FALSE, 0); + DEBUG_NAME(hbox); gtk_box_pack_start(GTK_BOX(lw->info_box), hbox, FALSE, FALSE, 0); gtk_widget_show(hbox); } lw->info_pixel = layout_status_label(NULL, hbox, FALSE, 0, small_format); /* expand only in small format */ + DEBUG_NAME(lw->info_pixel); gtk_widget_set_tooltip_text(GTK_WIDGET(lw->info_pixel), _("[Pixel x,y coord]: (Pixel R,G,B value)")); if (!lw->options.show_info_pixel) gtk_widget_hide(gtk_widget_get_parent(lw->info_pixel)); } @@ -1491,6 +1509,7 @@ GdkWindowHints hints; lw->tools = window_new(GTK_WINDOW_TOPLEVEL, "tools", PIXBUF_INLINE_ICON_TOOLS, NULL, _("Tools")); + DEBUG_NAME(lw->tools); g_signal_connect(G_OBJECT(lw->tools), "delete_event", G_CALLBACK(layout_tools_delete_cb), lw); layout_keyboard_init(lw, lw->tools); @@ -1528,6 +1547,7 @@ layout_actions_add_window(lw, lw->tools); vbox = gtk_vbox_new(FALSE, 0); + DEBUG_NAME(vbox); gtk_container_add(GTK_CONTAINER(lw->tools), vbox); gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(lw->menu_tool_bar), FALSE, FALSE, 0); gtk_widget_show(vbox); @@ -1537,10 +1557,12 @@ if (vertical) { lw->tools_pane = gtk_vpaned_new(); + DEBUG_NAME(lw->tools_pane); } else { lw->tools_pane = gtk_hpaned_new(); + DEBUG_NAME(lw->tools_pane); } gtk_box_pack_start(GTK_BOX(vbox), lw->tools_pane, TRUE, TRUE, 0); gtk_widget_show(lw->tools_pane); @@ -1679,6 +1701,7 @@ layout_actions_setup(lw); lw->group_box = gtk_vbox_new(FALSE, 0); + DEBUG_NAME(lw->group_box); gtk_box_pack_end(GTK_BOX(lw->main_box), lw->group_box, TRUE, TRUE, 0); gtk_widget_show(lw->group_box); @@ -1688,16 +1711,20 @@ { layout_split_change(lw, lw->split_mode); /* this re-creates image frame for the new configuration */ image_sb = lw->utility_box; + DEBUG_NAME(image_sb); } else { GtkWidget *image; /* image or split images together */ image = layout_image_setup_split(lw, lw->split_mode); image_sb = layout_bars_prepare(lw, image); + DEBUG_NAME(image_sb); } tools = layout_tools_new(lw); + DEBUG_NAME(tools); files = layout_list_new(lw); + DEBUG_NAME(files); if (lw->options.tools_float || lw->options.tools_hidden) @@ -1724,8 +1751,10 @@ layout_grid_compute(lw, image_sb, tools, files, &w1, &w2, &w3); v = lw->v_pane = gtk_vpaned_new(); + DEBUG_NAME(v); h = lw->h_pane = gtk_hpaned_new(); + DEBUG_NAME(h); if (!layout_location_vertical(priority_location)) { @@ -2121,6 +2150,7 @@ copy_layout_options(&lc->options, &lw->options); lc->configwindow = window_new(GTK_WINDOW_TOPLEVEL, "Layout", PIXBUF_INLINE_ICON_CONFIG, NULL, _("Window options and layout")); + DEBUG_NAME(lc->configwindow); gtk_window_set_type_hint(GTK_WINDOW(lc->configwindow), GDK_WINDOW_TYPE_HINT_DIALOG); g_signal_connect(G_OBJECT(lc->configwindow), "delete_event", @@ -2131,6 +2161,7 @@ gtk_container_set_border_width(GTK_CONTAINER(lc->configwindow), PREF_PAD_BORDER); win_vbox = gtk_vbox_new(FALSE, PREF_PAD_SPACE); + DEBUG_NAME(win_vbox); gtk_container_add(GTK_CONTAINER(lc->configwindow), win_vbox); gtk_widget_show(win_vbox); @@ -2179,8 +2210,10 @@ } frame = pref_frame_new(win_vbox, TRUE, NULL, GTK_ORIENTATION_VERTICAL, PREF_PAD_GAP); + DEBUG_NAME(frame); vbox = gtk_vbox_new(FALSE, PREF_PAD_SPACE); + DEBUG_NAME(vbox); gtk_container_add(GTK_CONTAINER(frame), vbox); gtk_widget_show(vbox); @@ -2219,6 +2252,7 @@ group = pref_group_new(vbox, FALSE, _("Layout"), GTK_ORIENTATION_VERTICAL); lc->layout_widget = layout_config_new(); + DEBUG_NAME(lc->layout_widget); layout_config_set(lc->layout_widget, lw->options.style, lw->options.order); gtk_box_pack_start(GTK_BOX(group), lc->layout_widget, TRUE, TRUE, 0); @@ -2388,6 +2422,7 @@ /* window */ lw->window = window_new(GTK_WINDOW_TOPLEVEL, GQ_APPNAME_LC, NULL, NULL, NULL); + DEBUG_NAME(lw->window); gtk_window_set_resizable(GTK_WINDOW(lw->window), TRUE); gtk_container_set_border_width(GTK_CONTAINER(lw->window), 0); @@ -2434,6 +2469,7 @@ #endif lw->main_box = gtk_vbox_new(FALSE, 0); + DEBUG_NAME(lw->main_box); gtk_container_add(GTK_CONTAINER(lw->window), lw->main_box); gtk_widget_show(lw->main_box); diff -r ea58314bd19d -r 2e7fd08bfbe4 src/layout_image.c --- a/src/layout_image.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/layout_image.c Thu Feb 14 12:05:04 2019 +0000 @@ -2182,9 +2182,15 @@ /* horizontal split means vpaned and vice versa */ if (horizontal) + { paned = gtk_vpaned_new(); + DEBUG_NAME(paned); + } else + { paned = gtk_hpaned_new(); + DEBUG_NAME(paned); + } gtk_paned_pack1(GTK_PANED(paned), lw->split_images[0]->widget, TRUE, TRUE); gtk_paned_pack2(GTK_PANED(paned), lw->split_images[1]->widget, TRUE, TRUE); @@ -2210,8 +2216,11 @@ layout_image_setup_split_common(lw, 4); hpaned = gtk_hpaned_new(); + DEBUG_NAME(hpaned); vpaned1 = gtk_vpaned_new(); + DEBUG_NAME(vpaned1); vpaned2 = gtk_vpaned_new(); + DEBUG_NAME(vpaned2); gtk_paned_pack1(GTK_PANED(vpaned1), lw->split_images[0]->widget, TRUE, TRUE); gtk_paned_pack2(GTK_PANED(vpaned1), lw->split_images[2]->widget, TRUE, TRUE); diff -r ea58314bd19d -r 2e7fd08bfbe4 src/layout_util.c --- a/src/layout_util.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/layout_util.c Thu Feb 14 12:05:04 2019 +0000 @@ -2779,7 +2779,9 @@ if (lw->menu_tool_bar) return lw->menu_tool_bar; menu_bar = layout_actions_menu_bar(lw); + DEBUG_NAME(menu_bar); toolbar = layout_actions_toolbar(lw, TOOLBAR_MAIN); + DEBUG_NAME(toolbar); lw->menu_tool_bar = gtk_vbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(lw->menu_tool_bar), menu_bar, FALSE, FALSE, 0); @@ -3267,6 +3269,7 @@ if (!lw->utility_box) return; bar = bar_new(lw); + DEBUG_NAME(bar); layout_bar_set(lw, bar); @@ -3472,6 +3475,7 @@ if (lw->utility_box) return lw->utility_box; lw->utility_box = gtk_hbox_new(FALSE, PREF_PAD_GAP); lw->utility_paned = gtk_hpaned_new(); + DEBUG_NAME(lw->utility_paned); gtk_box_pack_start(GTK_BOX(lw->utility_box), lw->utility_paned, TRUE, TRUE, 0); gtk_paned_pack1(GTK_PANED(lw->utility_paned), image, TRUE, FALSE); diff -r ea58314bd19d -r 2e7fd08bfbe4 src/logwindow.c --- a/src/logwindow.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/logwindow.c Thu Feb 14 12:05:04 2019 +0000 @@ -140,6 +140,7 @@ logwin = g_new0(LogWindow, 1); window = window_new(GTK_WINDOW_TOPLEVEL, "log", NULL, NULL, _("Log")); + DEBUG_NAME(window); win_vbox = gtk_vbox_new(FALSE, PREF_PAD_SPACE); gtk_container_add(GTK_CONTAINER(window), win_vbox); gtk_widget_show(win_vbox); diff -r ea58314bd19d -r 2e7fd08bfbe4 src/pan-view/pan-view.c --- a/src/pan-view/pan-view.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/pan-view/pan-view.c Thu Feb 14 12:05:04 2019 +0000 @@ -1809,6 +1809,7 @@ pw->idle_id = 0; pw->window = window_new(GTK_WINDOW_TOPLEVEL, "panview", NULL, NULL, _("Pan View")); + DEBUG_NAME(pw->window); geometry.min_width = DEFAULT_MINIMAL_WINDOW_SIZE; geometry.min_height = DEFAULT_MINIMAL_WINDOW_SIZE; @@ -1818,6 +1819,7 @@ gtk_container_set_border_width(GTK_CONTAINER(pw->window), 0); vbox = gtk_vbox_new(FALSE, 0); + DEBUG_NAME(vbox); gtk_container_add(GTK_CONTAINER(pw->window), vbox); gtk_widget_show(vbox); @@ -1909,6 +1911,7 @@ box = pref_box_new(vbox, FALSE, GTK_ORIENTATION_HORIZONTAL, 0); frame = gtk_frame_new(NULL); + DEBUG_NAME(frame); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); gtk_widget_set_size_request(frame, ZOOM_LABEL_WIDTH, -1); gtk_box_pack_start(GTK_BOX(box), frame, TRUE, TRUE, 0); @@ -1922,6 +1925,7 @@ pw->label_message = pref_label_new(hbox, ""); frame = gtk_frame_new(NULL); + DEBUG_NAME(frame); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); gtk_widget_set_size_request(frame, ZOOM_LABEL_WIDTH, -1); gtk_box_pack_end(GTK_BOX(box), frame, FALSE, FALSE, 0); diff -r ea58314bd19d -r 2e7fd08bfbe4 src/preferences.c --- a/src/preferences.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/preferences.c Thu Feb 14 12:05:04 2019 +0000 @@ -3305,6 +3305,7 @@ if (!c_options) c_options = init_options(NULL); configwindow = window_new(GTK_WINDOW_TOPLEVEL, "preferences", PIXBUF_INLINE_ICON_CONFIG, NULL, _("Preferences")); + DEBUG_NAME(configwindow); gtk_window_set_type_hint(GTK_WINDOW(configwindow), GDK_WINDOW_TYPE_HINT_DIALOG); g_signal_connect(G_OBJECT(configwindow), "delete_event", G_CALLBACK(config_window_delete), NULL); diff -r ea58314bd19d -r 2e7fd08bfbe4 src/search.c --- a/src/search.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/search.c Thu Feb 14 12:05:04 2019 +0000 @@ -3147,6 +3147,7 @@ } sd->window = window_new(GTK_WINDOW_TOPLEVEL, "search", NULL, NULL, _("Image search")); + DEBUG_NAME(sd->window); gtk_window_set_resizable(GTK_WINDOW(sd->window), TRUE); @@ -3473,6 +3474,7 @@ G_CALLBACK(search_thumb_toggle_cb), sd); frame = gtk_frame_new(NULL); + DEBUG_NAME(frame); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, PREF_PAD_SPACE); gtk_widget_show(frame); diff -r ea58314bd19d -r 2e7fd08bfbe4 src/ui_help.c --- a/src/ui_help.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/ui_help.c Thu Feb 14 12:05:04 2019 +0000 @@ -207,6 +207,7 @@ /* window */ window = window_new(GTK_WINDOW_TOPLEVEL, subclass, NULL, NULL, title); + DEBUG_NAME(window); gtk_window_set_resizable(GTK_WINDOW(window), TRUE); gtk_window_set_default_size(GTK_WINDOW(window), HELP_WINDOW_WIDTH, HELP_WINDOW_HEIGHT); diff -r ea58314bd19d -r 2e7fd08bfbe4 src/ui_pathsel.c --- a/src/ui_pathsel.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/ui_pathsel.c Thu Feb 14 12:05:04 2019 +0000 @@ -1068,6 +1068,7 @@ if (filter) { paned = gtk_hpaned_new(); + DEBUG_NAME(paned); gtk_table_attach(GTK_TABLE(table), paned, 0, 3, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_widget_show(paned); diff -r ea58314bd19d -r 2e7fd08bfbe4 src/ui_utildlg.c --- a/src/ui_utildlg.c Wed Feb 13 11:47:38 2019 +0000 +++ b/src/ui_utildlg.c Thu Feb 14 12:05:04 2019 +0000 @@ -402,6 +402,7 @@ gd->cancel_cb = cancel_cb; gd->dialog = window_new(GTK_WINDOW_TOPLEVEL, role, NULL, NULL, title); + DEBUG_NAME(gd->dialog); gtk_window_set_type_hint(GTK_WINDOW(gd->dialog), GDK_WINDOW_TYPE_HINT_DIALOG); if (options->save_dialog_window_positions)