mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 16:03:29 +00:00
Merge pull request #106175 from akien-mga/linux-build-no-dbus
Linux: Fix build with `dbus=no` or `threads=no`
This commit is contained in:
commit
c596d93478
3 changed files with 8 additions and 4 deletions
|
@ -336,7 +336,7 @@ def configure(env: "SConsEnvironment"):
|
||||||
else:
|
else:
|
||||||
env.Append(CPPDEFINES=["PULSEAUDIO_ENABLED", "_REENTRANT"])
|
env.Append(CPPDEFINES=["PULSEAUDIO_ENABLED", "_REENTRANT"])
|
||||||
|
|
||||||
if env["dbus"]:
|
if env["dbus"] and env["threads"]: # D-Bus functionality expects threads.
|
||||||
if not env["use_sowrap"]:
|
if not env["use_sowrap"]:
|
||||||
if os.system("pkg-config --exists dbus-1") == 0: # 0 means found
|
if os.system("pkg-config --exists dbus-1") == 0: # 0 means found
|
||||||
env.ParseConfig("pkg-config dbus-1 --cflags --libs")
|
env.ParseConfig("pkg-config dbus-1 --cflags --libs")
|
||||||
|
|
|
@ -1543,14 +1543,14 @@ Key DisplayServerWayland::keyboard_get_keycode_from_physical(Key p_keycode) cons
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DisplayServerWayland::color_picker(const Callable &p_callback) {
|
bool DisplayServerWayland::color_picker(const Callable &p_callback) {
|
||||||
|
#ifdef DBUS_ENABLED
|
||||||
WindowID window_id = MAIN_WINDOW_ID;
|
WindowID window_id = MAIN_WINDOW_ID;
|
||||||
// TODO: Use window IDs for multiwindow support.
|
// TODO: Use window IDs for multiwindow support.
|
||||||
|
|
||||||
WaylandThread::WindowState *ws = wayland_thread.wl_surface_get_window_state(wayland_thread.window_get_wl_surface(window_id));
|
WaylandThread::WindowState *ws = wayland_thread.wl_surface_get_window_state(wayland_thread.window_get_wl_surface(window_id));
|
||||||
#ifdef DBUS_ENABLED
|
|
||||||
return portal_desktop->color_picker((ws ? ws->exported_handle : String()), p_callback);
|
return portal_desktop->color_picker((ws ? ws->exported_handle : String()), p_callback);
|
||||||
#endif
|
#else
|
||||||
return false;
|
return false;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void DisplayServerWayland::try_suspend() {
|
void DisplayServerWayland::try_suspend() {
|
||||||
|
|
|
@ -3691,6 +3691,7 @@ Key DisplayServerX11::keyboard_get_label_from_physical(Key p_keycode) const {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DisplayServerX11::color_picker(const Callable &p_callback) {
|
bool DisplayServerX11::color_picker(const Callable &p_callback) {
|
||||||
|
#ifdef DBUS_ENABLED
|
||||||
WindowID window_id = last_focused_window;
|
WindowID window_id = last_focused_window;
|
||||||
|
|
||||||
if (!windows.has(window_id)) {
|
if (!windows.has(window_id)) {
|
||||||
|
@ -3699,6 +3700,9 @@ bool DisplayServerX11::color_picker(const Callable &p_callback) {
|
||||||
|
|
||||||
String xid = vformat("x11:%x", (uint64_t)windows[window_id].x11_window);
|
String xid = vformat("x11:%x", (uint64_t)windows[window_id].x11_window);
|
||||||
return portal_desktop->color_picker(xid, p_callback);
|
return portal_desktop->color_picker(xid, p_callback);
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
DisplayServerX11::Property DisplayServerX11::_read_property(Display *p_display, Window p_window, Atom p_property) {
|
DisplayServerX11::Property DisplayServerX11::_read_property(Display *p_display, Window p_window, Atom p_property) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue