1
0
mirror of https://github.com/valinet/ExplorerPatcher.git synced 2024-11-24 07:30:22 +01:00
Commit Graph

22 Commits

Author SHA1 Message Date
Valentin Radu
a8c7fbadaa Weather: Fixed a bug that could prevent the widget from properly loading
It seems that either the web page, either something in Microsoft's
WebView2 implementation changed so that when
`ICoreWebView2::NavigationCompleted` is fired, the elements of interest
on the page are not ready, which causes all this mess, as you can tell.

The solution for now was to delay the execution of my scripts, which
seemed to have gotten rid of the problem for now. I don't particularly
like the solution, I'd of course want something more robust, but I
guess these are the pitfalls when you do not control the entire
ecosystem...
2023-03-01 20:38:35 +02:00
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
Valentin Radu
961cc11dda Weather: Fixed a bug that prevented the widget from working when WebView2 Runtime >= 102.0.1245.33 2022-06-07 19:35:41 +03:00
Valentin Radu
dbdc1b80f8 Weather: Show "Reload" link when data fails to load 2022-05-28 13:43:54 +03:00
Valentin Radu
5093e7de37 Weather: Fix and free event registration tokens 2022-05-28 13:41:05 +03:00
Valentin Radu
ff72f31b9b Weather: Display last time of update in Properties 2022-03-14 04:53:48 +02:00
Valentin Radu
25ef1b23e1 Weather: Implemented zoom levels (#1033) 2022-03-09 20:08:03 +02:00
Valentin Radu
fea56b71cc Weather: Implemented icon pack with day/night support 2022-03-06 08:00:59 +02:00
Valentin Radu
38650ccab8 Weather: Fixed display issues in RTL layouts (#954) 2022-03-01 15:01:30 +02:00
Valentin Radu
d8269f1bbe Weather: Allow widget resize and move when using dev mode 2022-02-27 00:04:37 +02:00
Valentin Radu
7ab3ac2be9 Weather: Registry setting to toggle dev tools in the browser 2022-02-26 13:26:12 +02:00
Valentin Radu
b7a1ced429 Weather: Rearchitected component lifetime 2022-02-17 23:42:13 +02:00
Valentin Radu
dfc2057ec0 Weather: Widget properly respects text size accessibility setting 2022-02-17 02:48:17 +02:00
Valentin Radu
97e522cf34 Weather: Maintain handle to uxtheme for the lifetime of the instance 2022-02-17 02:36:20 +02:00
Valentin Radu
7bc56f4191 Weather: Widget displays with rounded corner after logon; implemented option to change corner preference 2022-02-08 19:58:02 +02:00
Valentin Radu
879ec09488 Weather: Refactored browser rebound procedure 2022-02-06 20:11:57 +02:00
Valentin Radu
26b6646da6 Weather: Made variable local, static compile runtime library in ep_weather_host_stub 2022-02-06 20:09:49 +02:00
Valentin Radu
74204c7e84 Weather: Widget supports dark mode (thanks @krlvm) (#755) 2022-01-31 02:30:34 +02:00
Valentin Radu
fd710a1544 Weather widget adjusts its size vertically to accommodate the entire contents 2022-01-30 03:26:19 +02:00
Valentin Radu
22a5a1e3c7 Implemented weather widget error screen 2022-01-29 23:55:06 +02:00
Valentin Radu
83042a6d68 Fixes for weather panel, implemented icon-less modes, implemented dynamic size to fit contents 2022-01-27 23:03:02 +02:00
Valentin Radu
5d4466147d Implemented weather taskbar widget 2022-01-27 04:35:27 +02:00