From 879ec09488141d35bf3f464eb763320203caf6c1 Mon Sep 17 00:00:00 2001 From: Valentin Radu Date: Sun, 6 Feb 2022 20:11:57 +0200 Subject: [PATCH] Weather: Refactored browser rebound procedure --- ep_weather_host/ep_weather.h | 1 + ep_weather_host/ep_weather_host.c | 5 ++--- ep_weather_host/ep_weather_host.h | 4 +--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/ep_weather_host/ep_weather.h b/ep_weather_host/ep_weather.h index c6b1cc1..e4cce51 100644 --- a/ep_weather_host/ep_weather.h +++ b/ep_weather_host/ep_weather.h @@ -51,6 +51,7 @@ DEFINE_GUID(IID_IEPWeather, #define EP_WEATHER_WM_FETCH_DATA (WM_USER + 10) #define EP_WEATHER_WM_SET_BROWSER_THEME (WM_USER + 11) +#define EP_WEATHER_WM_REBOUND_BROWSER (WM_USER + 12) #define EP_WEATHER_HEIGHT 391 #define EP_WEATHER_WIDTH 690 diff --git a/ep_weather_host/ep_weather_host.c b/ep_weather_host/ep_weather_host.c index 8a41b84..e3244d3 100644 --- a/ep_weather_host/ep_weather_host.c +++ b/ep_weather_host/ep_weather_host.c @@ -636,7 +636,7 @@ LRESULT CALLBACK epw_Weather_WindowProc(_In_ HWND hWnd, _In_ UINT uMsg, _In_ WPA } return 0; } - else if (uMsg == WM_TIMER && wParam == EP_WEATHER_TIMER_REBOUND_BROWSER) + else if (wParam == EP_WEATHER_WM_REBOUND_BROWSER) { LPWSTR uri = NULL; if (_this->pCoreWebView2) @@ -645,7 +645,6 @@ LRESULT CALLBACK epw_Weather_WindowProc(_In_ HWND hWnd, _In_ UINT uMsg, _In_ WPA } _ep_weather_ReboundBrowser(_this, !wcscmp(L"about:blank", uri ? uri : L"")); CoTaskMemFree(uri); - KillTimer(_this->hWnd, EP_WEATHER_TIMER_REBOUND_BROWSER); return 0; } else if (uMsg == EP_WEATHER_WM_FETCH_DATA) @@ -1147,7 +1146,7 @@ HRESULT STDMETHODCALLTYPE epw_Weather_Initialize(EPWeather* _this, WCHAR wszName HRESULT STDMETHODCALLTYPE epw_Weather_Show(EPWeather* _this) { - SetTimer(_this->hWnd, EP_WEATHER_TIMER_REBOUND_BROWSER, EP_WEATHER_TIMER_REBOUND_BROWSER_DELAY, NULL); + PostMessageW(_this->hWnd, EP_WEATHER_WM_REBOUND_BROWSER, 0, 0); ShowWindow(_this->hWnd, SW_SHOW); _this->pTaskList->lpVtbl->DeleteTab(_this->pTaskList, _this->hWnd); return S_OK; diff --git a/ep_weather_host/ep_weather_host.h b/ep_weather_host/ep_weather_host.h index 3e9f80a..bbc24ef 100644 --- a/ep_weather_host/ep_weather_host.h +++ b/ep_weather_host/ep_weather_host.h @@ -22,11 +22,9 @@ DEFINE_GUID(IID_ITaskbarList, #define EP_WEATHER_TIMER_REQUEST_REPAINT 1 #define EP_WEATHER_TIMER_REQUEST_REPAINT_DELAY 1000 -#define EP_WEATHER_TIMER_REBOUND_BROWSER 2 -#define EP_WEATHER_TIMER_REBOUND_BROWSER_DELAY 1 #define EP_WEATHER_TIMER_REQUEST_REFRESH 10 #define EP_WEATHER_TIMER_REQUEST_REFRESH_DELAY 2000 -#define EP_WEATHER_TIMER_SCHEDULE_REFRESH 10 +#define EP_WEATHER_TIMER_SCHEDULE_REFRESH 11 typedef interface EPWeather {