[mutter] MonitorXrandr: try harder to get decent product/serial IDs
- From: Giovanni Campagna <gcampagna src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] MonitorXrandr: try harder to get decent product/serial IDs
- Date: Mon, 19 Aug 2013 07:45:42 +0000 (UTC)
commit 909a6607c52435c9cf2bef7da214eb474bd045d8
Author: Giovanni Campagna <gcampagna src gnome org>
Date: Sun Aug 18 12:11:44 2013 +0200
MonitorXrandr: try harder to get decent product/serial IDs
If the EDID does not include free-form product name and serial
number, use the numeric IDs instead, like gnome-desktop did.
https://bugzilla.gnome.org/show_bug.cgi?id=706233
src/core/monitor-xrandr.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/src/core/monitor-xrandr.c b/src/core/monitor-xrandr.c
index 51e480a..37dd4ca 100644
--- a/src/core/monitor-xrandr.c
+++ b/src/core/monitor-xrandr.c
@@ -455,8 +455,14 @@ meta_monitor_manager_xrandr_read_current (MetaMonitorManager *manager)
if (parsed_edid)
{
meta_output->vendor = g_strndup (parsed_edid->manufacturer_code, 4);
- meta_output->product = g_strndup (parsed_edid->dsc_product_name, 14);
- meta_output->serial = g_strndup (parsed_edid->dsc_serial_number, 14);
+ if (parsed_edid->dsc_product_name[0])
+ meta_output->product = g_strndup (parsed_edid->dsc_product_name, 14);
+ else
+ meta_output->product = g_strdup_printf ("0x%04x", (unsigned)parsed_edid->product_code);
+ if (parsed_edid->dsc_serial_number[0])
+ meta_output->serial = g_strndup (parsed_edid->dsc_serial_number, 14);
+ else
+ meta_output->serial = g_strdup_printf ("0x%08x", parsed_edid->serial_number);
g_free (parsed_edid);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]