Ensure the ulock window is not shown when we wait for another instance

This commit is contained in:
Matthias Schiffer 2013-10-08 14:47:57 +02:00
parent a75e92d21c
commit 65268f66f1

View file

@ -33,7 +33,7 @@ enum lock_state {
static enum lock_state state = LOCKED;
static GtkWidget *window, *unlockWindow, *lockLabel, *promptEntry, *messageLabel, *logoutButton, *unlockButton;
static gboolean enablePromptEntry = TRUE, enableLogoutButton = FALSE, enableUnlockButton = TRUE;
static gboolean present = FALSE, enablePromptEntry = TRUE, enableLogoutButton = FALSE, enableUnlockButton = TRUE;
static char *username;
static char *logoutCommand = NULL;
@ -213,7 +213,7 @@ static GdkFilterReturn xevent_filter(GdkXEvent *xevent, GdkEvent *event, gpointe
switch (ev->xany.type) {
case MapNotify:
case ConfigureNotify:
if (ev->xany.window != gdk_x11_window_get_xid(gtk_widget_get_window(window)))
if (present && ev->xany.window != gdk_x11_window_get_xid(gtk_widget_get_window(window)))
gtk_window_present(GTK_WINDOW(window));
break;
@ -346,6 +346,8 @@ int main(int argc, char *argv[]) {
load_config();
create_lock_window();
present = TRUE;
gtk_widget_show(window);
gtk_main();