Skip to content

Commit

Permalink
fix: explorer restart does not recreated thumbnail toolbar buttons (e…
Browse files Browse the repository at this point in the history
…lectron#39551)

fix: explorer restart does not recreated thumbnail toolbar buttons.
  • Loading branch information
tr2-harada committed Aug 21, 2023
1 parent 95bf9d8 commit 9937a2b
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 0 deletions.
4 changes: 4 additions & 0 deletions shell/browser/native_window_views.cc
Expand Up @@ -254,6 +254,10 @@ NativeWindowViews::NativeWindowViews(const gin_helper::Dictionary& options,

if (title_bar_style_ != TitleBarStyle::kNormal)
set_has_frame(false);

// If the taskbar is re-created after we start up, we have to rebuild all of
// our buttons.
taskbar_created_message_ = RegisterWindowMessage(TEXT("TaskbarCreated"));
#endif

if (enable_larger_than_screen())
Expand Down
4 changes: 4 additions & 0 deletions shell/browser/native_window_views.h
Expand Up @@ -318,6 +318,10 @@ class NativeWindowViews : public NativeWindow,
// Controls Overlay if enabled on Windows.
SkColor overlay_button_color_;
SkColor overlay_symbol_color_;

// The message ID of the "TaskbarCreated" message, sent to us when we need to
// reset our thumbar buttons.
UINT taskbar_created_message_ = 0;
#endif

// Handles unhandled keyboard messages coming back from the renderer process.
Expand Down
6 changes: 6 additions & 0 deletions shell/browser/native_window_views_win.cc
Expand Up @@ -221,6 +221,12 @@ bool NativeWindowViews::PreHandleMSG(UINT message,
return true;
}

if (message == taskbar_created_message_) {
// We need to reset all of our buttons because the taskbar went away.
taskbar_host_.RestoreThumbarButtons(GetAcceleratedWidget());
return true;
}

switch (message) {
// Screen readers send WM_GETOBJECT in order to get the accessibility
// object, so take this opportunity to push Chromium into accessible
Expand Down

0 comments on commit 9937a2b

Please sign in to comment.