Try setting current window as foreground on activate.

This commit is contained in:
John Preston 2021-10-08 12:20:24 +04:00
parent dd856b9e4a
commit 8d0ff1b61d
1 changed files with 10 additions and 0 deletions

View File

@ -20,6 +20,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "mainwidget.h"
#include "history/history_location_manager.h"
#include "storage/localstorage.h"
#include "core/application.h"
#include "window/window_controller.h"
#include "core/crash_reports.h"
#include <QtCore/QOperatingSystemVersion>
@ -144,6 +146,14 @@ void DeleteMyModules() {
void psActivateProcess(uint64 pid) {
if (pid) {
::EnumWindows((WNDENUMPROC)_ActivateProcess, (LPARAM)&pid);
} else if (Core::IsAppLaunched()) {
if (const auto window = Core::App().activeWindow()) {
if (const auto handle = window->widget()->windowHandle()) {
if (const auto id = handle->winId()) {
SetForegroundWindow(HWND(id));
}
}
}
}
}