[mutter] monitor-manager: Fall back to minimum screen size of 640 x 480
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] monitor-manager: Fall back to minimum screen size of 640 x 480
- Date: Wed, 30 Aug 2017 05:55:16 +0000 (UTC)
commit 0aa7405a2a895719fb7365d563cfbc1da69536ff
Author: Jonas Ådahl <jadahl gmail com>
Date: Wed Apr 12 14:15:33 2017 +0800
monitor-manager: Fall back to minimum screen size of 640 x 480
When headless, we don't have any logical monitors to derive a screen
size from, but we can't set it to empty as that will cause issues with
the clutter stage, UI widget layout and other things. To avoid such
issues, just fall back to a 640 x 480 screen size when headless.
https://bugzilla.gnome.org/show_bug.cgi?id=730551
src/backends/meta-monitor-manager-dummy.c | 5 +++--
src/backends/meta-monitor-manager-private.h | 3 +++
src/backends/native/meta-monitor-manager-kms.c | 4 ++--
src/tests/meta-monitor-manager-test.c | 5 ++---
src/tests/monitor-unit-tests.c | 5 ++---
5 files changed, 12 insertions(+), 10 deletions(-)
---
diff --git a/src/backends/meta-monitor-manager-dummy.c b/src/backends/meta-monitor-manager-dummy.c
index b45922b..004374a 100644
--- a/src/backends/meta-monitor-manager-dummy.c
+++ b/src/backends/meta-monitor-manager-dummy.c
@@ -506,10 +506,11 @@ meta_monitor_manager_dummy_apply_monitors_config (MetaMonitorManager *manag
if (!config)
{
- manager->screen_width = 0;
- manager->screen_height = 0;
+ manager->screen_width = META_MONITOR_MANAGER_MIN_SCREEN_WIDTH;
+ manager->screen_height = META_MONITOR_MANAGER_MIN_SCREEN_HEIGHT;
meta_monitor_manager_rebuild (manager, NULL);
+ return TRUE;
}
if (!meta_monitor_config_manager_assign (manager, config,
diff --git a/src/backends/meta-monitor-manager-private.h b/src/backends/meta-monitor-manager-private.h
index 563bf92..707d639 100644
--- a/src/backends/meta-monitor-manager-private.h
+++ b/src/backends/meta-monitor-manager-private.h
@@ -67,6 +67,9 @@ typedef struct _MetaCrtcInfo MetaCrtcInfo;
typedef struct _MetaOutputInfo MetaOutputInfo;
typedef struct _MetaTileInfo MetaTileInfo;
+#define META_MONITOR_MANAGER_MIN_SCREEN_WIDTH 640
+#define META_MONITOR_MANAGER_MIN_SCREEN_HEIGHT 480
+
typedef enum _MetaMonitorManagerCapability
{
META_MONITOR_MANAGER_CAPABILITY_NONE = 0,
diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c
index 1105dc5..6507e51 100644
--- a/src/backends/native/meta-monitor-manager-kms.c
+++ b/src/backends/native/meta-monitor-manager-kms.c
@@ -1425,8 +1425,8 @@ meta_monitor_manager_kms_apply_monitors_config (MetaMonitorManager *manager
if (!config)
{
- manager->screen_width = 0;
- manager->screen_height = 0;
+ manager->screen_width = META_MONITOR_MANAGER_MIN_SCREEN_WIDTH;
+ manager->screen_height = META_MONITOR_MANAGER_MIN_SCREEN_HEIGHT;
meta_monitor_manager_rebuild (manager, NULL);
return TRUE;
}
diff --git a/src/tests/meta-monitor-manager-test.c b/src/tests/meta-monitor-manager-test.c
index c407ed0..4b0634e 100644
--- a/src/tests/meta-monitor-manager-test.c
+++ b/src/tests/meta-monitor-manager-test.c
@@ -276,9 +276,8 @@ meta_monitor_manager_test_apply_monitors_config (MetaMonitorManager *manage
if (!config)
{
- /* The screen is made 1x1, as clutter stage used cannot be empty. */
- manager->screen_width = 1;
- manager->screen_height = 1;
+ manager->screen_width = META_MONITOR_MANAGER_MIN_SCREEN_WIDTH;
+ manager->screen_height = META_MONITOR_MANAGER_MIN_SCREEN_HEIGHT;
if (meta_is_stage_views_enabled ())
{
diff --git a/src/tests/monitor-unit-tests.c b/src/tests/monitor-unit-tests.c
index 53455c1..e2dcdc5 100644
--- a/src/tests/monitor-unit-tests.c
+++ b/src/tests/monitor-unit-tests.c
@@ -2563,9 +2563,8 @@ meta_test_monitor_no_outputs (void)
.n_outputs = 0,
.n_crtcs = 0,
.n_tiled_monitors = 0,
- /* The screen is made 1x1, as clutter stage used cannot be empty. */
- .screen_width = 1,
- .screen_height = 1
+ .screen_width = META_MONITOR_MANAGER_MIN_SCREEN_WIDTH,
+ .screen_height = META_MONITOR_MANAGER_MIN_SCREEN_HEIGHT
}
};
MetaMonitorTestSetup *test_setup;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]