Commit graph

1022 commits

Author SHA1 Message Date
mjk f1bcb6604f rewrite InitApartment and protect callers from (the rest of the) exceptions
Initializing COM by calling `winrt::init_apartment()` would always cause
stack unwinding *in practice*, which is suboptimal at best, and even using
`apartment_type::single_threaded` still would require exception filtering
*just in case*.
2021-06-09 07:20:01 -03:00
mjk c855d5e7cb protect GetTemplateContent callers from exceptions 2021-06-09 07:20:00 -03:00
mjk ed7c23c8d2 generalize glib::try_invoke to any return-by-value type and void 2021-06-09 07:19:59 -03:00
mjk b1cb64d716 add nullary version of g_try_invoke macro 2021-06-09 07:19:58 -03:00
mjk da424fb73b fiddle with punctuation 2021-06-09 07:19:58 -03:00
mjk 39b51b2d4c make glib::impl::varstring less explosive 2021-06-09 07:19:57 -03:00
mjk 7cb6b3f4b3 fix UB in glib::describe_arguments called with no arguments
Makes failure logging of nullary invokables non-crashy.
2021-06-09 07:19:56 -03:00
mjk 15abe70fc6 handle theoretical future failures of wsview_to_char 2021-06-09 07:19:56 -03:00
mjk ab6ce05aec handle empty hresult_error message specially 2021-06-09 07:19:55 -03:00
mjk c44b1daaf7 make meta-error messages more precise 2021-06-09 07:19:54 -03:00
mjk 5e50d1d2d7 remove an unused include 2021-06-09 07:19:53 -03:00
mjk d3214188d5 use lower-case 0x prefix for hresult code formatting everywhere 2021-06-09 07:19:51 -03:00
mjk 229ff697c4 move some whitespace around 2021-06-09 07:19:50 -03:00
mjk c3624f8490 handle exe paths longer than 259 chars 2021-06-09 07:19:48 -03:00
mjk 597061aed1 work around GetEnvironmentVariable not resetting last error 2021-06-09 07:19:48 -03:00
mjk fd035084de unimplement accidentally implemented wide string overloads of describe_argument 2021-06-09 07:19:47 -03:00
LAGonauta 426f997f9b Fix notifications not hiding 2021-06-09 07:19:47 -03:00
LAGonauta c60e0a828f Add README.md to Windows notification plugin 2021-06-09 07:19:46 -03:00
LAGonauta cc0e206c27 Removed unused library on linker
It is loaded dynamically
2021-06-09 07:19:45 -03:00
LAGonauta 60791cb3f0 Add ginvoke to CMakeLists 2021-06-09 07:19:45 -03:00
mjk f9a3b28624 switch to runtime loading of PropVariantToStringAlloc
Now it really should work.
2021-06-09 07:19:44 -03:00
mjk cb3c6874bc add restoration of shortcut's target path 2021-06-09 07:19:44 -03:00
mjk eeda464ca9 rewrite shortcut management code with RAII, error logging and exceptions
It actually works now.
2021-06-09 07:19:43 -03:00
mjk f193948f4e constify all the things 2021-06-09 07:19:43 -03:00
mjk 401c4a1bb1 change some local functions' signatures 2021-06-09 07:19:43 -03:00
mjk 34519e96bd make GetEnv more robust and not limit length of variables 2021-06-09 07:19:42 -03:00
mjk fb754b0d43 generalize GetShortcutPath into GetEnv 2021-06-09 07:19:42 -03:00
mjk 2eb1eea06e clarify GetCurrentModulePath's name 2021-06-09 07:19:41 -03:00
mjk 5b40d166d2 make GetCurrentModulePath and GetShortcutPath throw win32 errors 2021-06-09 07:19:41 -03:00
mjk 2ad659f777 clarify some entry points' names 2021-06-09 07:19:40 -03:00
mjk b21066c89e mark exception-safe C entry points as such 2021-06-09 07:19:40 -03:00
mjk 1bd1376cea stop exceptions from crossing ABI boundary in a few places 2021-06-09 07:19:40 -03:00
mjk f1b5633ce6 introduce try_invoke -- a logging exception catcher 2021-06-09 07:19:39 -03:00
LAGonauta 3d9dcbcf87 Valac think that getters are always owned by the struct 2021-06-09 07:19:38 -03:00
LAGonauta 8856fcbceb Use g_new0 and g_free to generate raw strings 2021-06-09 07:19:37 -03:00
LAGonauta 94944a9e2a Use async 2021-06-09 07:19:37 -03:00
LAGonauta 7de1c01fe8 Add comment to builder 2021-06-09 07:19:36 -03:00
LAGonauta 0f555da7a9 Fixed crash with multiple notifications
Sometimes an invalid function pointer was called with an invalid context
2021-06-09 07:19:35 -03:00
LAGonauta f2c689fa12 Delegate activate_action to UI thread 2021-06-09 07:19:34 -03:00
LAGonauta 839d2a5316 Initial notification provider using WinRT
Crashes when activating actions, might be related to threads.
2021-06-09 07:19:32 -03:00
LAGonauta be0e1841b8 Anitial builder 2021-06-09 07:19:32 -03:00
LAGonauta 2476b5e04b Initial experiments with notification XML building 2021-06-09 07:19:32 -03:00
LAGonauta bc9b9b95e0 Add template getter 2021-06-09 07:19:31 -03:00
LAGonauta 9d9b9e8e42 Rename plugin vala file 2021-06-09 07:19:31 -03:00
LAGonauta 0153953b5d Rename enums to better match what Vala expects 2021-06-09 07:19:30 -03:00
LAGonauta 363b200272 Add template type enum 2021-06-09 07:19:28 -03:00
LAGonauta c6a96fc025 Cleanup dismissed actions on toast notification finalizer 2021-06-09 07:19:27 -03:00
LAGonauta 898470ed23 Add failed and dimissed actions 2021-06-09 07:19:25 -03:00
LAGonauta 6cdaad315a Fields must be created in the private struct
Also change unordered_map to list, we do not need hashing and stuff.
2021-06-09 07:19:24 -03:00
LAGonauta 91d61843f2 No need to enable coroutines 2021-06-09 07:19:22 -03:00