diff --git a/src/dockedapp.c b/src/dockedapp.c index 6de3c7d..2bad0a3 100644 --- a/src/dockedapp.c +++ b/src/dockedapp.c @@ -379,10 +379,10 @@ void ShowDockAppSettingsPanel(WAppIcon * aicon) updateSettingsPanelIcon(panel); - parent = XCreateSimpleWindow(dpy, scr->root_win, 0, 0, pwidth, pheight, 0, 0, 0); + parent = (Window)wm_backend->fake_leader_create(scr); wm_backend->window_select_events((WNativeWindow)parent, KeyPressMask | KeyReleaseMask); - XReparentWindow(dpy, WMWidgetXID(panel->win), parent, 0, 0); + wm_backend->client_reparent((WNativeWindow)WMWidgetXID(panel->win), (WNativeWindow)parent, 0, 0); /* * make things relative to head @@ -422,7 +422,7 @@ void DestroyDockAppSettingsPanel(AppSettingsPanel * panel) { if (!panel->destroyed) { wm_backend->window_unmap((WNativeWindow)panel->wwin->client_win); - XReparentWindow(dpy, panel->wwin->client_win, panel->wwin->screen_ptr->root_win, 0, 0); + wm_backend->client_reparent((WNativeWindow)panel->wwin->client_win, (WNativeWindow)panel->wwin->screen_ptr->root_win, 0, 0); wUnmanageWindow(panel->wwin, False, False); } diff --git a/src/monitor.c b/src/monitor.c index f39ac70..013d48b 100644 --- a/src/monitor.c +++ b/src/monitor.c @@ -42,11 +42,8 @@ static int showCrashDialog(int sig) int crashAction; if (!wm_backend->is_wayland) { - dpy = XOpenDisplay(NULL); - wm_backend->server_grab(); + /* X11 backend handles crash dialog via separate connection */ crashAction = wShowCrashingDialogPanel(sig); - XCloseDisplay(dpy); - dpy = NULL; } else { werror(_("cannot open connection for crashing dialog panel. Aborting.")); crashAction = WMAbort;