1
0
mirror of https://github.com/valinet/ExplorerPatcher.git synced 2024-11-24 07:30:22 +01:00
ExplorerPatcher/ep_weather_host
Valentin Radu 9ec44832dd Weather: Fixed a bug that could hang the host process and explorer
A nasty bug was sometime occurring where both explorer and the widget
host process could hang; this often happened when explorer was
restarted. The reason this happened was because the widget host
process could hang waiting for the "Lock_EPWeather_Instance" lock. This
was a global lock that made sure only one instance of the widget could
be created.

The idea of the global "Lock_EPWeather_Instance" lock was, of course,
pretty bad, but I chose it because I couldn't figure out/didn't want to
deal with passing an EPWeather "this" instance to WebView2 or
NetworkListManagerEvents functions. Bad decision.

This patch addresses this bug, by providing a generic object
which holds a reference to EPWeather "this" on which I build event
handlers for WebView2 and so on. Since these now contain this
reference, they cannot be static anymore, thus I switched to dynamically
allocating them and managing them throughout their lifetime using,
of course, reference counting. This is the proper solution.

Thus, this bug and any similar ones should now be fixed.
2022-08-05 15:31:36 +03:00
..
ep_weather_error_html.h Weather: Detect and break infinite loops on navigating to the error page 2022-08-04 23:56:55 +03:00
ep_weather_factory.c Implemented weather taskbar widget 2022-01-27 04:35:27 +02:00
ep_weather_factory.h Implemented weather taskbar widget 2022-01-27 04:35:27 +02:00
ep_weather_host.c Weather: Fixed a bug that could hang the host process and explorer 2022-08-05 15:31:36 +03:00
ep_weather_host.h Weather: Fixed a bug that could hang the host process and explorer 2022-08-05 15:31:36 +03:00
ep_weather_host.rc Implemented weather taskbar widget 2022-01-27 04:35:27 +02:00
ep_weather_host.vcxproj All: Use global OS version query functions 2022-03-06 00:04:30 +02:00
ep_weather_host.vcxproj.filters Weather: Enable support for memory leaks dumping in Debug builds 2022-02-17 23:04:00 +02:00
ep_weather_provider_google_html.h Weather widget adjusts its size vertically to accommodate the entire contents 2022-01-30 03:26:19 +02:00
ep_weather_provider_google_script.h Weather: Hide mysterious line that appears at the top of the widget for some places 2022-03-09 19:56:37 +02:00
ep_weather_utility.h All: Use global OS version query functions 2022-03-06 00:04:30 +02:00
ep_weather.c Weather: Widget supports dark mode (thanks @krlvm) (#755) 2022-01-31 02:30:34 +02:00
ep_weather.h Weather: Show "Reload" link when data fails to load 2022-05-28 13:43:54 +03:00
packages.config Implemented weather taskbar widget 2022-01-27 04:35:27 +02:00
resource.h Implemented weather taskbar widget 2022-01-27 04:35:27 +02:00