diff --git a/source/rofi.c b/source/rofi.c index 29573bf2..3ede2056 100644 --- a/source/rofi.c +++ b/source/rofi.c @@ -1503,13 +1503,6 @@ static void teardown ( int pfd ) // Release the window. release_keyboard ( display ); - if ( main_window != None ) { - XUnmapWindow ( display, main_window ); - XDestroyWindow ( display, main_window ); - main_window = None; - XDestroyIC ( xic ); - XCloseIM ( xim ); - } if ( draw ) { cairo_destroy ( draw ); draw = NULL; @@ -1518,6 +1511,13 @@ static void teardown ( int pfd ) cairo_surface_destroy ( surface ); surface = NULL; } + if ( main_window != None ) { + XUnmapWindow ( display, main_window ); + XDestroyWindow ( display, main_window ); + main_window = None; + XDestroyIC ( xic ); + XCloseIM ( xim ); + } if ( map != None ) { XFreeColormap ( display, map );