mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-19 20:38:08 +01:00
Fixed non-responding panels in wmaker.
This commit is contained in:
26
src/dialog.c
26
src/dialog.c
@@ -79,7 +79,7 @@ wMessageDialog(WScreen *scr, char *title, char *message,
|
|||||||
defBtn, altBtn, othBtn);
|
defBtn, altBtn, othBtn);
|
||||||
|
|
||||||
parent = XCreateSimpleWindow(dpy, scr->root_win, 0, 0, 400, 180, 0, 0, 0);
|
parent = XCreateSimpleWindow(dpy, scr->root_win, 0, 0, 400, 180, 0, 0, 0);
|
||||||
|
|
||||||
XReparentWindow(dpy, WMWidgetXID(panel->win), parent, 0, 0);
|
XReparentWindow(dpy, WMWidgetXID(panel->win), parent, 0, 0);
|
||||||
|
|
||||||
wwin = wManageInternalWindow(scr, parent, None, NULL,
|
wwin = wManageInternalWindow(scr, parent, None, NULL,
|
||||||
@@ -88,15 +88,10 @@ wMessageDialog(WScreen *scr, char *title, char *message,
|
|||||||
wwin->client_leader = WMWidgetXID(panel->win);
|
wwin->client_leader = WMWidgetXID(panel->win);
|
||||||
|
|
||||||
WMMapWidget(panel->win);
|
WMMapWidget(panel->win);
|
||||||
|
|
||||||
wWindowMap(wwin);
|
wWindowMap(wwin);
|
||||||
|
|
||||||
while (!panel->done) {
|
WMRunModalLoop(WMWidgetScreen(panel->win), WMWidgetView(panel->win));
|
||||||
XEvent event;
|
|
||||||
|
|
||||||
WMNextEvent(dpy, &event);
|
|
||||||
WMHandleEvent(&event);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = panel->result;
|
result = panel->result;
|
||||||
|
|
||||||
@@ -121,7 +116,7 @@ wInputDialog(WScreen *scr, char *title, char *message, char **text)
|
|||||||
WMInputPanel *panel;
|
WMInputPanel *panel;
|
||||||
char *result;
|
char *result;
|
||||||
|
|
||||||
|
|
||||||
panel = WMCreateInputPanel(scr->wmscreen, NULL, title, message, *text,
|
panel = WMCreateInputPanel(scr->wmscreen, NULL, title, message, *text,
|
||||||
_("OK"), _("Cancel"));
|
_("OK"), _("Cancel"));
|
||||||
|
|
||||||
@@ -138,16 +133,11 @@ wInputDialog(WScreen *scr, char *title, char *message, char **text)
|
|||||||
wwin->client_leader = WMWidgetXID(panel->win);
|
wwin->client_leader = WMWidgetXID(panel->win);
|
||||||
|
|
||||||
WMMapWidget(panel->win);
|
WMMapWidget(panel->win);
|
||||||
|
|
||||||
wWindowMap(wwin);
|
wWindowMap(wwin);
|
||||||
|
|
||||||
while (!panel->done) {
|
WMRunModalLoop(WMWidgetScreen(panel->win), WMWidgetView(panel->win));
|
||||||
XEvent event;
|
|
||||||
|
|
||||||
WMNextEvent(dpy, &event);
|
|
||||||
WMHandleEvent(&event);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (panel->result == WAPRDefault)
|
if (panel->result == WAPRDefault)
|
||||||
result = WMGetTextFieldText(panel->text);
|
result = WMGetTextFieldText(panel->text);
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user