Skip to content

Commit d4d84be

Browse files
Make sure Gtk is showing the window
qefrdvqe
1 parent cfd4a86 commit d4d84be

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

src/gui/gtk.c

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1278,9 +1278,11 @@ int dt_gui_theme_init(dt_gui_gtk_t *gui)
12781278

12791279
int dt_gui_gtk_init(dt_gui_gtk_t *gui)
12801280
{
1281-
/* lets zero mem */
1282-
memset(gui, 0, sizeof(dt_gui_gtk_t));
1283-
1281+
/* Note:
1282+
*gui has been calloced in dt_init() so no need to clear via memset
1283+
also it got some changes already, let's keep them
1284+
memset(gui, 0, sizeof(dt_gui_gtk_t));
1285+
*/
12841286
dt_pthread_mutex_init(&gui->mutex, NULL);
12851287

12861288
// force gtk3 to use normal scroll bars instead of the popup
@@ -1603,6 +1605,15 @@ int dt_gui_gtk_init(dt_gui_gtk_t *gui)
16031605
darktable.gui->focus_peaking_button, &dt_action_def_toggle);
16041606
dt_shortcut_register(ac, 0, 0, GDK_KEY_f, GDK_CONTROL_MASK | GDK_SHIFT_MASK);
16051607

1608+
// give Gtk a chance to update the screen; we need to let the event
1609+
// processing run several times for the window to actually be
1610+
// fully displayed/updated
1611+
for(int i = 0; i < 5; i++)
1612+
{
1613+
g_usleep(1000);
1614+
dt_gui_process_events();
1615+
}
1616+
16061617
return 0;
16071618
}
16081619

0 commit comments

Comments
 (0)