From 825b56f62b116ffa79195bf39bda8c58be7566a5 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Jul 15 2009 17:31:57 +0000 Subject: 2.27.4 --- diff --git a/.cvsignore b/.cvsignore index a3da7b1..4423445 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -gnome-desktop-2.27.3.tar.bz2 +gnome-desktop-2.27.4.tar.bz2 diff --git a/concatenate-edid-descriptors.patch b/concatenate-edid-descriptors.patch new file mode 100644 index 0000000..04490b0 --- /dev/null +++ b/concatenate-edid-descriptors.patch @@ -0,0 +1,124 @@ +diff -up gnome-desktop-2.27.4/libgnome-desktop/edid.h.concatenate-edid-descriptors gnome-desktop-2.27.4/libgnome-desktop/edid.h +--- gnome-desktop-2.27.4/libgnome-desktop/edid.h.concatenate-edid-descriptors 2009-04-19 13:39:06.000000000 -0400 ++++ gnome-desktop-2.27.4/libgnome-desktop/edid.h 2009-07-15 12:49:00.883963393 -0400 +@@ -183,12 +183,13 @@ struct MonitorInfo + */ + + /* Optional product description */ +- char dsc_serial_number[14]; +- char dsc_product_name[14]; +- char dsc_string[14]; /* Unspecified ASCII data */ ++ char *dsc_serial_number; ++ char *dsc_product_name; ++ char *dsc_string; /* Unspecified ASCII data */ + }; + + MonitorInfo *decode_edid (const uchar *data); ++void free_edid (MonitorInfo *); + char * make_display_name (const char *output_name, + const MonitorInfo *info); + +diff -up gnome-desktop-2.27.4/libgnome-desktop/edid-parse.c.concatenate-edid-descriptors gnome-desktop-2.27.4/libgnome-desktop/edid-parse.c +--- gnome-desktop-2.27.4/libgnome-desktop/edid-parse.c.concatenate-edid-descriptors 2009-04-19 13:39:06.000000000 -0400 ++++ gnome-desktop-2.27.4/libgnome-desktop/edid-parse.c 2009-07-15 12:53:51.648990812 -0400 +@@ -349,27 +349,44 @@ decode_standard_timings (const uchar *ed + return TRUE; + } + +-static void +-decode_lf_string (const uchar *s, int n_chars, char *result) ++static char * ++decode_lf_string (const uchar *s, int n_chars, char *prev) + { + int i; ++ char *ret, *tmp; ++ ++ tmp = g_malloc0 (n_chars); ++ + for (i = 0; i < n_chars; ++i) + { + if (s[i] == 0x0a) + { +- *result++ = '\0'; ++ tmp[i] = '\0'; + break; + } + else if (s[i] == 0x00) + { + /* Convert embedded 0's to spaces */ +- *result++ = ' '; ++ tmp[i] = ' '; + } + else + { +- *result++ = s[i]; ++ tmp[i] = s[i]; + } + } ++ ++ if (prev) ++ { ++ ret = g_strjoin(NULL, prev, tmp, NULL); ++ g_free(prev); ++ g_free(tmp); ++ } ++ else ++ { ++ ret = tmp; ++ } ++ ++ return ret; + } + + static void +@@ -379,13 +396,16 @@ decode_display_descriptor (const uchar * + switch (desc[0x03]) + { + case 0xFC: +- decode_lf_string (desc + 5, 13, info->dsc_product_name); ++ info->dsc_product_name = decode_lf_string (desc + 5, 13, ++ info->dsc_product_name); + break; + case 0xFF: +- decode_lf_string (desc + 5, 13, info->dsc_serial_number); ++ info->dsc_serial_number = decode_lf_string (desc + 5, 13, ++ info->dsc_serial_number); + break; + case 0xFE: +- decode_lf_string (desc + 5, 13, info->dsc_string); ++ info->dsc_string = decode_lf_string (desc + 5, 13, ++ info->dsc_string); + break; + case 0xFD: + /* Range Limits */ +@@ -514,6 +534,18 @@ decode_check_sum (const uchar *edid, + info->checksum = check; + } + ++void ++free_edid (MonitorInfo *info) ++{ ++ if (info) ++ { ++ g_free (info->dsc_product_name); ++ g_free (info->dsc_serial_number); ++ g_free (info->dsc_string); ++ } ++ g_free (info); ++} ++ + MonitorInfo * + decode_edid (const uchar *edid) + { +diff -up gnome-desktop-2.27.4/libgnome-desktop/gnome-rr-config.c.concatenate-edid-descriptors gnome-desktop-2.27.4/libgnome-desktop/gnome-rr-config.c +--- gnome-desktop-2.27.4/libgnome-desktop/gnome-rr-config.c.concatenate-edid-descriptors 2009-06-29 19:35:54.000000000 -0400 ++++ gnome-desktop-2.27.4/libgnome-desktop/gnome-rr-config.c 2009-07-15 12:47:57.734218844 -0400 +@@ -491,7 +491,7 @@ gnome_rr_config_new_current (GnomeRRScre + output->display_name = make_display_name ( + gnome_rr_output_get_name (rr_output), info); + +- g_free (info); ++ free_edid (info); + + crtc = gnome_rr_output_get_crtc (rr_output); + mode = crtc? gnome_rr_crtc_get_current_mode (crtc) : NULL; diff --git a/give-me-back-my-rotations.patch b/give-me-back-my-rotations.patch deleted file mode 100644 index 7797ff8..0000000 --- a/give-me-back-my-rotations.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- gnome-desktop-2.26.1/libgnome-desktop/gnome-rr.c 2009-04-13 18:00:20.000000000 -0400 -+++ hacked/libgnome-desktop/gnome-rr.c 2009-04-28 19:28:37.168474903 -0400 -@@ -329,6 +329,11 @@ - } - else - { -+ gnome_rr_screen_get_ranges (info->screen, -+ &(info->min_width), -+ &(info->max_width), -+ &(info->min_height), -+ &(info->max_height)); - /* XRRGetScreenResourcesCurrent is less expensive than - * XRRGetScreenResources, however it is available only - * in RandR 1.3 or higher diff --git a/gnome-desktop.spec b/gnome-desktop.spec index 2f870f8..bfbe891 100644 --- a/gnome-desktop.spec +++ b/gnome-desktop.spec @@ -11,14 +11,14 @@ Summary: Package containing code shared among gnome-panel, gnome-session, nautilus, etc Name: gnome-desktop -Version: 2.27.3 -Release: 2%{?dist} +Version: 2.27.4 +Release: 1%{?dist} URL: http://www.gnome.org Source0: http://download.gnome.org/sources/gnome-desktop/2.27/%{name}-%{version}.tar.bz2 # http://bugzilla.gnome.org/show_bug.cgi?id=581621 -Patch2: pnpids.patch -# Backport from 2.27.4 -Patch3: gnome-desktop-2.27.3-edid-prop-name.patch +Patch0: pnpids.patch +Patch1: concatenate-edid-descriptors.patch + License: GPLv2+ and LGPLv2+ Group: System Environment/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -76,8 +76,8 @@ libgnomedesktop. %prep %setup -q -%patch2 -p1 -b .pnpids.patch -%patch3 -p1 -b .edid-name +%patch0 -p1 -b .pnpids.patch +%patch1 -p1 -b .concatenate-edid-descriptors %build %configure --with-gnome-distributor="Red Hat, Inc" --disable-scrollkeeper @@ -123,6 +123,10 @@ rm -rf $RPM_BUILD_ROOT %doc %{_datadir}/gtk-doc/html/gnome-desktop/ %changelog +* Wed Jul 15 2009 Matthias Clasen - 2.27.4-1 +- Update to 2.27.4 +- Some EDID handling improvements + * Tue Jul 07 2009 Adam Jackson 2.27.3-2 - gnome-desktop-2.27.3-edid-prop-name.patch: Adapt to RANDR 1.3's new name for the EDID output property. diff --git a/sources b/sources index 28398d6..fc7fb1d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a4fd698181f3b22ca09564e149eb56a9 gnome-desktop-2.27.3.tar.bz2 +25c96e2a203edbad7372eb8b1096a0c0 gnome-desktop-2.27.4.tar.bz2 diff --git a/you-never-find-a-haystack-in-a-needle.patch b/you-never-find-a-haystack-in-a-needle.patch deleted file mode 100644 index 87f64ec..0000000 --- a/you-never-find-a-haystack-in-a-needle.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up gnome-desktop-2.26.1/libgnome-desktop/display-name.c.unknown-monitors gnome-desktop-2.26.1/libgnome-desktop/display-name.c ---- gnome-desktop-2.26.1/libgnome-desktop/display-name.c.unknown-monitors 2009-04-13 18:00:20.000000000 -0400 -+++ gnome-desktop-2.26.1/libgnome-desktop/display-name.c 2009-04-29 11:10:38.600717893 -0400 -@@ -206,9 +206,9 @@ make_display_name (const char *output_na - int width_mm, height_mm, inches; - - if (output_name && -- (strstr ("lvds", output_name) || -- strstr ("LVDS", output_name) || -- strstr ("Lvds", output_name))) -+ (strstr (output_name, "lvds") || -+ strstr (output_name, "LVDS") || -+ strstr (output_name, "Lvds"))) - { - vendor = _("Laptop"); - }