Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1169

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176
10000 Update process execution flow for Linux by janisozaur · Pull Request #25206 · OpenRCT2/OpenRCT2 · GitHub
Nothing Special   »   [go: up one dir, main page]

Skip to content

Conversation

janisozaur
Copy link
Member

Previously zenity/kdialog were launched in a way that would prevent events from getting pumped to the new application in some scenarios.

This new approach, mimicked from
https://github.com/libsdl-org/SDL/blob/9859c051781771015356e31f941bab40a763bea9/src/video/wayland/SDL_waylandmessagebox.c#L40-L75 fixes this problem for compositors where it used to be a problem.

In particular, this fixes the system dialog not launching on the Steam Deck.

@janisozaur janisozaur added Linux (OS) Related to the Linux version of OpenRCT2. changelog This issue/PR deserves a changelog entry. labels Sep 18, 2025
@janisozaur janisozaur added this to the v0.4.27 milestone Sep 18, 2025
@janisozaur
Copy link
Member Author

@Gymnasiast I guess you'll want to test GOG stuff

@Gymnasiast
Copy link
Member

You seem to be copying code wholesale from SDL, as well as changing code to use C strings and arrays. And it seems that paths are no longer properly escaped, though I haven’t been able to check that properly due to the aforementioned things.

I’m not sure if this is a good solution to this problem.

@janisozaur
Copy link
Member Author

are no longer properly escaped

They don't need to and even they mustn't. We pass them on to the child process directly and not via shell. Escaping them would result in the file picker looking for escaped names verbatim.

Previously zenity/kdialog were launched in a way that would prevent
events from getting pumped to the new application in some scenarios.

This new approach, mimicked from
https://github.com/libsdl-org/SDL/blob/9859c051781771015356e31f941bab40a763bea9/src/video/wayland/SDL_waylandmessagebox.c#L40-L75
fixes this problem for compositors where it used to be a problem.

In particular, this fixes the system dialog not launching on the Steam
Deck.
@janisozaur
Copy link
Member Author

You seem to be copying code wholesale from SDL

Yes, but this is pretty much the standard way to do this, so it's not really exclusive to SDL and they don't anything novel here. Take a look at man pipe: https://man7.org/linux/man-pages/man2/pipe.2.html#EXAMPLES

I recall writing such code some 15 years ago, back when I still believed bazaar was superior to git.

@tupaschoal tupaschoal modified the milestones: v0.4.27, v0.4.28 Oct 4, 2025
- Fix: [#25173] Desync when placing a park entrance in multiplayer.
- Fix: [#25179] The LIM Launched Roller Coaster inline twists have incorrect wooden support clearance heights (original bug).
- Fix: [#25201] Ride list sort order can be unstable when sorted in descending order.
- Fix: [#25206] System file picker does not show up on the Steam Deck.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs moving to the v0.4.28 section.

Copy link
Member
@Gymnasiast Gymnasiast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested this and it gets stuck.

What I did was:

  1. Clear out the game_path config option.
  2. Launch the game
  3. Select the option "I have the GOG installer download"
  4. Select it.
  5. It issues the command, but gets stuck.

This happens with both Zenity and Kdialog.

The last thing that gets written to stdout is:
INFO[/home/michael/Code/OpenRCT2/OpenRCT2/src/openrct2/platform/Platform.Posix.cpp:144 (Execute)]: Executing command: innoextract /home/michael/Downloads/Spellen/RCT2 en OpenRCT2/Installers/GOG, oud/setup_rollercoaster_tycoon_2_triple_thrill_pack_2.01.043_(17987).exe --exclude-temp --output-dir /home/michael/.config/OpenRCT2/rct2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog This issue/PR deserves a changelog entry. Linux (OS) Related to the Linux version of OpenRCT2.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

0