summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcah <cah@ableton.com>2025-04-07 01:58:16 +0200
committercah <cah@ableton.com>2025-04-07 01:58:16 +0200
commitebf1b284268710682367904cc5ad5939bd1e4cd5 (patch)
treeb410c63f643400f523b6fcf9d54351d9f751d9cb
parent6c9cee14107f7c33787bab5873652677ae18e476 (diff)
Work around failure to open maximised on Ubuntu 24.04 (#3010).ub24-fs
-rw-r--r--cscript2
-rw-r--r--src/tools/dcpomatic.cc3
-rw-r--r--wscript4
3 files changed, 8 insertions, 1 deletions
diff --git a/cscript b/cscript
index d913bb3dc..0b63394bc 100644
--- a/cscript
+++ b/cscript
@@ -504,7 +504,7 @@ def configure_options(target, options, for_package=False):
opt += ' --wx-config=%s/wx-config' % target.bin
if target.platform == 'linux' and target.distro == 'ubuntu' and target.version == '24.04':
- opt += ' --enable-grok'
+ opt += ' --enable-grok --workaround-mutter'
if build_with_cpp17(target):
opt += ' --c++17'
diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc
index c603b9bfe..78fce27f2 100644
--- a/src/tools/dcpomatic.cc
+++ b/src/tools/dcpomatic.cc
@@ -538,6 +538,9 @@ private:
if (ev.IsShown() && !_first_shown_called) {
_film_editor->first_shown ();
_first_shown_called = true;
+#ifdef DCPOMATIC_WORKAROUND_MUTTER
+ signal_manager->when_idle([this]() { Maximize(); });
+#endif
}
}
diff --git a/wscript b/wscript
index f50228ecf..97bd54a3e 100644
--- a/wscript
+++ b/wscript
@@ -71,6 +71,7 @@ def options(opt):
opt.add_option('--static-sub', action='store_true', default=False, help='link statically to libsub')
opt.add_option('--static-curl', action='store_true', default=False, help='link statically to libcurl')
opt.add_option('--workaround-gssapi', action='store_true', default=False, help='link to gssapi_krb5')
+ opt.add_option('--workaround-mutter', action='store_true', default=False, help='work around window maximising bug on (e.g.) Ubuntu 24.04')
opt.add_option('--use-lld', action='store_true', default=False, help='use lld linker')
opt.add_option('--enable-disk', action='store_true', default=False, help='build dcpomatic2_disk tool; requires Boost process, lwext4 and nanomsg libraries')
opt.add_option('--enable-grok', action='store_true', default=False, help='build with support for grok J2K encoder')
@@ -148,6 +149,9 @@ def configure(conf):
if conf.options.warnings_are_errors:
conf.env.append_value('CXXFLAGS', '-Werror')
+ if conf.options.workaround_mutter:
+ conf.env.append_value('CXXFLAGS', '-DDCPOMATIC_WORKAROUND_MUTTER')
+
if conf.env.SSE:
conf.env.append_value('CXXFLAGS', ['-msse', '-mfpmath=sse'])