Delegate UI_DIALOG deletion back to window_close
UI_DIALOG::event_handler's case `EVENT_WINDOW_CLOSE` can only be hit if `rval == window_event_result::ignored`. Any other result returned before entering the switch. If `rval == ignored`, then returning `ignored` will cause `window_close` to delete the object. Delegate to that deletion instead of having an explicit deletion in this handler.
This commit is contained in:
parent
031a4b166c
commit
385d51b18e
|
@ -95,10 +95,6 @@ window_event_result UI_DIALOG::event_handler(const d_event &event)
|
||||||
return rval;
|
return rval;
|
||||||
}
|
}
|
||||||
|
|
||||||
case EVENT_WINDOW_CLOSE:
|
|
||||||
if (rval != window_event_result::deleted) // check if handler already deleted dialog (e.g. if UI_DIALOG was subclassed)
|
|
||||||
delete this;
|
|
||||||
return window_event_result::deleted; // free the window in any case (until UI_DIALOG is subclass of window)
|
|
||||||
default:
|
default:
|
||||||
return window_event_result::ignored;
|
return window_event_result::ignored;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue