Skip to content

Commit

Permalink
fix: maximize/unmaximize firing on linux (#32497)
Browse files Browse the repository at this point in the history
  • Loading branch information
codebytere committed Jan 18, 2022
1 parent de8623d commit 891374e
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
10 changes: 6 additions & 4 deletions shell/browser/ui/x/window_state_watcher.cc
Expand Up @@ -21,7 +21,9 @@ WindowStateWatcher::WindowStateWatcher(NativeWindowViews* window)
x11::GetAtom("_NET_WM_STATE_MAXIMIZED_VERT")),
net_wm_state_maximized_horz_atom_(
x11::GetAtom("_NET_WM_STATE_MAXIMIZED_HORZ")),
net_wm_state_fullscreen_atom_(x11::GetAtom("_NET_WM_STATE_FULLSCREEN")) {
net_wm_state_fullscreen_atom_(x11::GetAtom("_NET_WM_STATE_FULLSCREEN")),
was_minimized_(window_->IsMinimized()),
was_maximized_(window_->IsMaximized()) {
ui::X11EventSource::GetInstance()->connection()->AddEventObserver(this);
}

Expand All @@ -31,9 +33,6 @@ WindowStateWatcher::~WindowStateWatcher() {

void WindowStateWatcher::OnEvent(const x11::Event& x11_event) {
if (IsWindowStateEvent(x11_event)) {
const bool was_minimized_ = window_->IsMinimized();
const bool was_maximized_ = window_->IsMaximized();

std::vector<x11::Atom> wm_states;
if (GetArrayProperty(
static_cast<x11::Window>(window_->GetAcceleratedWidget()),
Expand Down Expand Up @@ -67,6 +66,9 @@ void WindowStateWatcher::OnEvent(const x11::Event& x11_event) {
else
window_->NotifyWindowLeaveFullScreen();
}

was_minimized_ = is_minimized;
was_maximized_ = is_maximized;
}
}
}
Expand Down
3 changes: 3 additions & 0 deletions shell/browser/ui/x/window_state_watcher.h
Expand Up @@ -32,6 +32,9 @@ class WindowStateWatcher : public x11::EventObserver {
const x11::Atom net_wm_state_maximized_horz_atom_;
const x11::Atom net_wm_state_fullscreen_atom_;

bool was_minimized_ = false;
bool was_maximized_ = false;

DISALLOW_COPY_AND_ASSIGN(WindowStateWatcher);
};

Expand Down

0 comments on commit 891374e

Please sign in to comment.