Commit graph

57 commits

Author SHA1 Message Date
mjk c40775b7da comment out unused arguments [-Wunused-parameter] 2021-06-09 07:20:13 -03:00
mjk 934b492357 init Callback completely always
The `token` pointer was left dangerously uninitialized after construction.
2021-06-09 07:20:12 -03:00
mjk 0258980977 replace lists with vectors 2021-06-09 07:20:12 -03:00
mjk c89671af04 log SetCurrentProcessExplicitAppUserModelID errors 2021-06-09 07:20:10 -03:00
mjk 822b91f40c stop checking for empty AUMIDs
The downstream code handles them just fine.
2021-06-09 07:20:09 -03:00
mjk 332216e63c reflow/respace 2021-06-09 07:20:09 -03:00
mjk 7b6f3ea9f6 replace C-style concurrent initialization of statics
C++ statics are thread-safe as is and are usually implemented more
efficiently. Besides, `volatile` is likely misused here anyway.
2021-06-09 07:20:04 -03:00
mjk 8988b77d57 don't use FALSE as a null pointer constant 2021-06-09 07:20:03 -03:00
mjk 987eb672d5 fix / work around uninitialized fields warnings 2021-06-09 07:20:03 -03:00
mjk 17c1172d84 work around a (pedantic) format specifier warning 2021-06-09 07:20:02 -03:00
mjk 8f8dfa2e70 move module loading functions out of shortcutcreator.cpp 2021-06-09 07:20:02 -03:00
mjk e8d84d2eda handle empty menu-relative shortcut paths 2021-06-09 07:20:01 -03:00
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 da424fb73b fiddle with punctuation 2021-06-09 07:19:58 -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 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
LAGonauta 426f997f9b Fix notifications not hiding 2021-06-09 07:19:47 -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 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 be0e1841b8 Anitial builder 2021-06-09 07:19:32 -03:00
LAGonauta bc9b9b95e0 Add template getter 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 c4f526329d Remove unity compilation unit 2021-06-09 07:19:21 -03:00
LAGonauta 40bf3d2fd4 Actions can stack 2021-06-09 07:19:20 -03:00
LAGonauta 7fd918f32d Fix string conversion 2021-06-09 07:19:19 -03:00