prevent window moves changing isMaximised from being queued

This commit is contained in:
nakst 2021-08-15 22:14:08 +01:00
parent 2b5e5f53a0
commit 1268da3482
2 changed files with 9 additions and 0 deletions

View File

@ -1464,6 +1464,12 @@ struct EsListView : EsElement {
Select(focusedItemGroup, focusedItemIndex, false, true, false);
return true;
} else if (isEnter && hasFocusedItem && !shift && !ctrl && !alt) {
if (searchBufferBytes) {
searchBufferLastKeyTime = 0;
searchBufferBytes = 0;
EsListViewInvalidateAll(this);
}
EsMessage m = { ES_MSG_LIST_VIEW_CHOOSE_ITEM };
m.chooseItem.group = focusedItemGroup;
m.chooseItem.index = focusedItemIndex;

View File

@ -789,6 +789,7 @@ bool Window::Move(EsRectangle rectangle, uint32_t flags) {
}
if ((flags & ES_WINDOW_MOVE_DYNAMIC)
&& (isMaximised == !!(flags & ES_WINDOW_MOVE_MAXIMISED) /* cannot queue resize if changing isMaximised */)
&& windowManager.resizeWindow == this
&& windowManager.resizeStartTimeStampMs + RESIZE_FLICKER_TIMEOUT_MS > KGetTimeInMs()) {
windowManager.resizeQueued = true;
@ -801,6 +802,8 @@ bool Window::Move(EsRectangle rectangle, uint32_t flags) {
isMaximised = flags & ES_WINDOW_MOVE_MAXIMISED;
alwaysOnTop = flags & ES_WINDOW_MOVE_ALWAYS_ON_TOP;
EsPrint("isMaximised = %d\n", isMaximised);
// TS("Move window\n");
if (flags & ES_WINDOW_MOVE_ADJUST_TO_FIT_SCREEN) {