On Thu Jun 26 22:17:25 2025 +0000, Jacek Caban wrote:
> Yes, a stub is fine (and you may use this MR for that).
Sorry, I think I messed up this MR branch, so it can't be merged fast-forward-merged. I've created a !8456 merge request for the stubs. Also I've implemented a PersistentZoneIdentifier interfaces with test cases in !8459, but it's just a mimic the behavior of PersistentZoneIdentifier without any writing or reading information about the zone. Some test cases fail due to no reading zone information.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8378#note_108320
Current implementation of system.fill_battery_state only reads "charge_*" and "current_*" attributes.
Some batteries expose different attributes, namely "power_*" and "energy_*".
Added the required logic to support both types.
Further, when rewriting the function I also added support for systems with multiple batteries.
Windows documentation was not clear but from what I gathered struct SYSTEM_BATTERY_STATE sets Charging and Discharging if ANY battery is charging/discharging.
So, to check if the overall system is charging/discharging only Rate can be used.
Also cleaned the code related to "AC". There was a "fixme" there which I didn't fully undertand as SYSTEM_BATTERY_STATE.AcOnLine == True if any AC is present, so the proper logic was already implemented
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8458
On Sat Jun 28 16:39:09 2025 +0000, eric pouech wrote:
> sorry for the delay
> LGTM
> two side remarks:
> * you don't need to push the updates, unless there's a conflict between
> new merge and your merge request
> * WCMD_parameter's raw parameter to TRUE should return the parameter
> with the double quotes untouched
Thanks. Regarding pushing the updates, this is happening automatically when I rebase via the UI here. First rebase always fails, telling me to rebase locally, but if I click it again it is successful and it then pushes the changes to the fork. Not sure if there is a way for me to rebase without the subsequent push occurring.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8200#note_108308
sorry for the delay
LGTM
two side remarks:
* you don't need to push the updates, unless there's a conflict between new merge and your merge request
* WCMD_parameter's raw parameter to TRUE should return the parameter with the double quotes untouched
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8200#note_108305
> The comment is added in a later change, when it really matters. For now the entries aren't cached.
But now it doesn't make sense why it's arranged like this. If you really want to defer things like that, you should get rid of the double-pointer return. Obviously I didn't do that because it would have required a lot of refactoring once I did start caching objects, although sometimes that kind of refactoring is preferable, but if you are similarly going to avoid it, you should explain why there's two parameters.
> Fwiw I kept a "cache" name for the stack variable but it should probably not even be named like that, it's not a cache. I don't think it matters much anyway, the code isn't so complicated.
I can see why you see it as not a cache, although I think it also kind of is: the canonical information lives in the server, the client side can be dropped and reacquired, and the code is intended to work even if we don't have memory to store that information.
But either way, we shouldn't name the single-pointer parameter just "cache". That's not its point compared to the double-pointer parameter; the point is to be a stack or fallback pointer to hold that information.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8445#note_108294