1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 07:17:35 +00:00

WindowServer+LibGUI: Remove awkward roundtrip for set wallpaper response

Previously we would wait for a separate message confirming that a
wallpaper got set instead of just calling a synchronous api.

I'm guessing that this was a limitation of the IPC system when
WindowServer got ported to using it.

This patch removes the SetWallpaperFinished message and updates the
set_wallpaper api to synchronously return a success boolean.
This commit is contained in:
networkException 2022-08-02 00:51:37 +02:00 committed by Brian Gianforcaro
parent 2cdc7c4ca0
commit ad060befad
7 changed files with 8 additions and 17 deletions

View file

@ -305,10 +305,9 @@ void ConnectionFromClient::set_window_opacity(i32 window_id, float opacity)
it->value->set_opacity(opacity);
}
void ConnectionFromClient::set_wallpaper(Gfx::ShareableBitmap const& bitmap)
Messages::WindowServer::SetWallpaperResponse ConnectionFromClient::set_wallpaper(Gfx::ShareableBitmap const& bitmap)
{
Compositor::the().set_wallpaper(bitmap.bitmap());
async_set_wallpaper_finished(true);
return Compositor::the().set_wallpaper(bitmap.bitmap());
}
void ConnectionFromClient::set_background_color(String const& background_color)

View file

@ -126,7 +126,7 @@ private:
virtual void set_fullscreen(i32, bool) override;
virtual void set_frameless(i32, bool) override;
virtual void set_forced_shadow(i32, bool) override;
virtual void set_wallpaper(Gfx::ShareableBitmap const&) override;
virtual Messages::WindowServer::SetWallpaperResponse set_wallpaper(Gfx::ShareableBitmap const&) override;
virtual void set_background_color(String const&) override;
virtual void set_wallpaper_mode(String const&) override;
virtual Messages::WindowServer::GetWallpaperResponse get_wallpaper() override;

View file

@ -32,8 +32,6 @@ endpoint WindowClient
applet_area_rect_changed(Gfx::IntRect rect) =|
set_wallpaper_finished(bool success) =|
drag_accepted() =|
drag_cancelled() =|

View file

@ -104,7 +104,7 @@ endpoint WindowServer
popup_menu(i32 menu_id, Gfx::IntPoint screen_position) =|
dismiss_menu(i32 menu_id) =|
set_wallpaper(Gfx::ShareableBitmap wallpaper_bitmap) =|
set_wallpaper(Gfx::ShareableBitmap wallpaper_bitmap) => (bool success)
set_background_color(String background_color) =|
set_wallpaper_mode(String mode) =|