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);
|
||||
|
||||
parent = XCreateSimpleWindow(dpy, scr->root_win, 0, 0, 400, 180, 0, 0, 0);
|
||||
|
||||
|
||||
XReparentWindow(dpy, WMWidgetXID(panel->win), parent, 0, 0);
|
||||
|
||||
wwin = wManageInternalWindow(scr, parent, None, NULL,
|
||||
@@ -88,15 +88,10 @@ wMessageDialog(WScreen *scr, char *title, char *message,
|
||||
wwin->client_leader = WMWidgetXID(panel->win);
|
||||
|
||||
WMMapWidget(panel->win);
|
||||
|
||||
|
||||
wWindowMap(wwin);
|
||||
|
||||
while (!panel->done) {
|
||||
XEvent event;
|
||||
|
||||
WMNextEvent(dpy, &event);
|
||||
WMHandleEvent(&event);
|
||||
}
|
||||
WMRunModalLoop(WMWidgetScreen(panel->win), WMWidgetView(panel->win));
|
||||
|
||||
result = panel->result;
|
||||
|
||||
@@ -121,7 +116,7 @@ wInputDialog(WScreen *scr, char *title, char *message, char **text)
|
||||
WMInputPanel *panel;
|
||||
char *result;
|
||||
|
||||
|
||||
|
||||
panel = WMCreateInputPanel(scr->wmscreen, NULL, title, message, *text,
|
||||
_("OK"), _("Cancel"));
|
||||
|
||||
@@ -138,16 +133,11 @@ wInputDialog(WScreen *scr, char *title, char *message, char **text)
|
||||
wwin->client_leader = WMWidgetXID(panel->win);
|
||||
|
||||
WMMapWidget(panel->win);
|
||||
|
||||
|
||||
wWindowMap(wwin);
|
||||
|
||||
while (!panel->done) {
|
||||
XEvent event;
|
||||
|
||||
WMNextEvent(dpy, &event);
|
||||
WMHandleEvent(&event);
|
||||
}
|
||||
|
||||
|
||||
WMRunModalLoop(WMWidgetScreen(panel->win), WMWidgetView(panel->win));
|
||||
|
||||
if (panel->result == WAPRDefault)
|
||||
result = WMGetTextFieldText(panel->text);
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user