From f7c2329638a1e408ee64e5f3cbdfb26331cb41734b4f763a456c4405f7535363 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Mon, 26 Apr 2010 10:07:53 +0000 Subject: [PATCH 1/5] Accepting request 38806 from home:zawel1:branches:X11:XOrg Copy from home:zawel1:branches:X11:XOrg/xorg-x11-server via accept of submit request 38806 revision 8. Request was accepted with message: reviewed ok. OBS-URL: https://build.opensuse.org/request/show/38806 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=255 --- dmx-silly.patch | 12 ++++++++++++ xorg-x11-server.spec | 18 +++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 dmx-silly.patch diff --git a/dmx-silly.patch b/dmx-silly.patch new file mode 100644 index 0000000..ebb040b --- /dev/null +++ b/dmx-silly.patch @@ -0,0 +1,12 @@ +diff -Nru xorg-server-1.8.0.orig/hw/dmx/dmxextension.c xorg-server-1.8.0/hw/dmx/dmxextension.c +--- xorg-server-1.8.0.orig/hw/dmx/dmxextension.c 2009-11-04 17:25:50.000000000 +0100 ++++ xorg-server-1.8.0/hw/dmx/dmxextension.c 2010-04-23 14:31:56.000000000 +0200 +@@ -1160,7 +1160,7 @@ + len_images); + + /* Clean up */ +- free(len_images); ++ free(images); + free(gids); + free(glyphs); + } diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 9f02862..433aad6 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -113,6 +113,7 @@ Patch208: xorg-evdev-conf.diff Patch209: sw_cursor_on_randr.patch Patch210: pio_ia64.diff Patch211: 0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch +Patch212: dmx-silly.patch %if %moblin Patch300: moblin-use_preferred_mode_for_all_outputs.diff %endif @@ -236,6 +237,7 @@ popd %patch209 -p1 %patch210 -p1 %patch211 -p1 +%patch212 -p1 %if %moblin %patch300 -p1 %endif @@ -255,7 +257,7 @@ autoreconf -fi --enable-xdm-auth-1 \ --enable-dri \ --enable-dri2 \ - --disable-dmx \ + --enable-dmx \ --enable-xnest \ --enable-kdrive \ --enable-xephyr \ @@ -300,6 +302,7 @@ mkdir -p $RPM_BUILD_ROOT/usr/%{_lib}/xorg/modules/updates/{fonts,input,linux,dri install -m 644 $RPM_SOURCE_DIR/README.updates $RPM_BUILD_ROOT/usr/%{_lib}/xorg/modules/updates mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d install -m 644 $RPM_SOURCE_DIR/modprobe.nvidia $RPM_BUILD_ROOT/etc/modprobe.d/50-nvidia.conf +gzip -c hw/dmx/Xdmx.man > $RPM_BUILD_ROOT/%{_mandir}/man1/Xdmx.1.gz %else rm -f $RPM_BUILD_ROOT/usr/share/aclocal/*.m4 %endif @@ -399,6 +402,19 @@ exit 0 /usr/bin/Xephyr /usr/bin/Xnest /usr/bin/Xvfb +/usr/bin/Xdmx +/usr/bin/dmxaddinput +/usr/bin/dmxaddscreen +/usr/bin/dmxinfo +/usr/bin/dmxreconfig +/usr/bin/dmxresize +/usr/bin/dmxrminput +/usr/bin/dmxrmscreen +/usr/bin/dmxtodmx +/usr/bin/dmxwininfo +/usr/bin/vdltodmx +/usr/bin/xdmxconfig +%{_mandir}/man1/Xdmx.1* %{_mandir}/man1/Xephyr.1* %{_mandir}/man1/Xnest.1* %{_mandir}/man1/Xvfb.1* From cae8d67b7ce5f1a3b15074075e695b899a06d2901f8c7b728bd3f7bf9b96a6ba Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Mon, 26 Apr 2010 10:11:06 +0000 Subject: [PATCH 2/5] - added changelog entry for latest commit OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=256 --- xorg-x11-server.changes | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index 2b1b95f..42ce880 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Apr 26 12:08:44 CEST 2010 - sndirsch@suse.de + +- Xdmx was disabled in favor of Nomad repository but it is + apparently dead (no Xdmx for OpenSUSE 11.2, last build from + early 2009). This patch re-enables Xdmx with some silly typo + fixed (dmx-silly.patch). Contributed by . + ------------------------------------------------------------------- Wed Apr 21 16:03:07 CEST 2010 - eich@suse.de From efb9e032e2b50325f4b4df944135af826b06763ce6294a5a17296c28a63669db Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Mon, 26 Apr 2010 12:28:36 +0000 Subject: [PATCH 3/5] Accepting request 38830 from home:eeich:branches:X11:XOrg Copy from home:eeich:branches:X11:XOrg/xorg-x11-server via accept of submit request 38830 revision 2. Request was accepted with message: Adding to X11:XOrg. OBS-URL: https://build.opensuse.org/request/show/38830 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=257 --- ...arms-from-senslessly-calling-CheckTr.patch | 44 ++++++++++++------- xorg-x11-server.changes | 6 +++ 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch b/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch index 81c2ae4..cdab25b 100644 --- a/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch +++ b/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch @@ -11,11 +11,11 @@ server on 100 percent CPU load since the select timeout is set to 0. xorg-server-1.8.0/Xext/syncsrv.h | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) -diff --git a/xorg-server-1.8.0/Xext/sync.c b/xorg-server-1.8.0/Xext/sync.c -index fd7b1ad..4c45399 100644 ---- a/Xext/sync.c -+++ b/Xext/sync.c -@@ -518,6 +518,10 @@ SyncAlarmTriggerFired(SyncTrigger *pTrigger) +Index: xorg-server-1.8.0/Xext/sync.c +=================================================================== +--- xorg-server-1.8.0.orig/Xext/sync.c ++++ xorg-server-1.8.0/Xext/sync.c +@@ -518,6 +518,10 @@ SyncAlarmTriggerFired(SyncTrigger *pTrig pAlarm->state = XSyncAlarmInactive; } } @@ -26,7 +26,7 @@ index fd7b1ad..4c45399 100644 /* The AlarmNotify event has to have the "new state of the alarm" * which we can't be sure of until this point. However, it has * to have the "old" trigger test value. That's the reason for -@@ -730,7 +734,7 @@ SyncChangeAlarmAttributes(ClientPtr client, SyncAlarm *pAlarm, Mask mask, +@@ -730,7 +734,7 @@ SyncChangeAlarmAttributes(ClientPtr clie XSyncCounter counter; Mask origmask = mask; @@ -35,7 +35,7 @@ index fd7b1ad..4c45399 100644 while (mask) { -@@ -741,7 +745,7 @@ SyncChangeAlarmAttributes(ClientPtr client, SyncAlarm *pAlarm, Mask mask, +@@ -741,7 +745,7 @@ SyncChangeAlarmAttributes(ClientPtr clie case XSyncCACounter: mask &= ~XSyncCACounter; /* sanity check in SyncInitTrigger */ @@ -44,7 +44,22 @@ index fd7b1ad..4c45399 100644 break; case XSyncCAValueType: -@@ -815,6 +819,7 @@ SyncChangeAlarmAttributes(ClientPtr client, SyncAlarm *pAlarm, Mask mask, +@@ -808,6 +812,14 @@ SyncChangeAlarmAttributes(ClientPtr clie + return BadMatch; + } + } ++ if (pAlarm->state == XSyncAlarmInactive) { ++ /* ++ * If we are inactive the trigger has been deleted from the counter. ++ * Persuade SyncInitTrigger() to readd it. ++ */ ++ origmask |= XSyncCACounter; ++ pAlarm->trigger.pCounter = NULL; ++ } + + /* postpone this until now, when we're sure nothing else can go wrong */ + if ((status = SyncInitTrigger(client, &pAlarm->trigger, counter, +@@ -815,6 +827,7 @@ SyncChangeAlarmAttributes(ClientPtr clie return status; /* XXX spec does not really say to do this - needs clarification */ @@ -52,7 +67,7 @@ index fd7b1ad..4c45399 100644 pAlarm->state = XSyncAlarmActive; return Success; } -@@ -1617,8 +1622,10 @@ ProcSyncCreateAlarm(ClientPtr client) +@@ -1617,8 +1630,10 @@ ProcSyncCreateAlarm(ClientPtr client) pAlarm->client = client; pAlarm->alarm_id = stuff->id; @@ -63,10 +78,10 @@ index fd7b1ad..4c45399 100644 pAlarm->state = XSyncAlarmInactive; pAlarm->pEventClients = NULL; status = SyncChangeAlarmAttributes(client, pAlarm, vmask, -diff --git a/xorg-server-1.8.0/Xext/syncsrv.h b/xorg-server-1.8.0/Xext/syncsrv.h -index 6d0e3d6..527729d 100644 ---- a/Xext/syncsrv.h -+++ b/Xext/syncsrv.h +Index: xorg-server-1.8.0/Xext/syncsrv.h +=================================================================== +--- xorg-server-1.8.0.orig/Xext/syncsrv.h ++++ xorg-server-1.8.0/Xext/syncsrv.h @@ -129,6 +129,7 @@ typedef struct _SyncAlarm { int events; int state; @@ -75,6 +90,3 @@ index 6d0e3d6..527729d 100644 } SyncAlarm; typedef struct { --- -1.6.4.2 - diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index 42ce880..bcea4cd 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Apr 26 10:40:11 UTC 2010 - eich@suse.de + +- Updated "Prevent XSync Alarms from senslessly calling CheckTrigger()" + to make sure SyncTriggerInit() readds trigger to counter (bnc #584919). + ------------------------------------------------------------------- Mon Apr 26 12:08:44 CEST 2010 - sndirsch@suse.de From eda05acfe448abaae7d5ae0e64e7ddf5a6b4d661f4e67d47680cd73671138964 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Mon, 26 Apr 2010 21:16:22 +0000 Subject: [PATCH 4/5] Accepting request 38875 from X11:XOrg checked in (request 38875) OBS-URL: https://build.opensuse.org/request/show/38875 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=258 --- ...arms-from-senslessly-calling-CheckTr.patch | 44 +++++++------------ dmx-silly.patch | 12 ----- xorg-x11-server.changes | 14 ------ xorg-x11-server.spec | 18 +------- 4 files changed, 17 insertions(+), 71 deletions(-) delete mode 100644 dmx-silly.patch diff --git a/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch b/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch index cdab25b..81c2ae4 100644 --- a/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch +++ b/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch @@ -11,11 +11,11 @@ server on 100 percent CPU load since the select timeout is set to 0. xorg-server-1.8.0/Xext/syncsrv.h | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) -Index: xorg-server-1.8.0/Xext/sync.c -=================================================================== ---- xorg-server-1.8.0.orig/Xext/sync.c -+++ xorg-server-1.8.0/Xext/sync.c -@@ -518,6 +518,10 @@ SyncAlarmTriggerFired(SyncTrigger *pTrig +diff --git a/xorg-server-1.8.0/Xext/sync.c b/xorg-server-1.8.0/Xext/sync.c +index fd7b1ad..4c45399 100644 +--- a/Xext/sync.c ++++ b/Xext/sync.c +@@ -518,6 +518,10 @@ SyncAlarmTriggerFired(SyncTrigger *pTrigger) pAlarm->state = XSyncAlarmInactive; } } @@ -26,7 +26,7 @@ Index: xorg-server-1.8.0/Xext/sync.c /* The AlarmNotify event has to have the "new state of the alarm" * which we can't be sure of until this point. However, it has * to have the "old" trigger test value. That's the reason for -@@ -730,7 +734,7 @@ SyncChangeAlarmAttributes(ClientPtr clie +@@ -730,7 +734,7 @@ SyncChangeAlarmAttributes(ClientPtr client, SyncAlarm *pAlarm, Mask mask, XSyncCounter counter; Mask origmask = mask; @@ -35,7 +35,7 @@ Index: xorg-server-1.8.0/Xext/sync.c while (mask) { -@@ -741,7 +745,7 @@ SyncChangeAlarmAttributes(ClientPtr clie +@@ -741,7 +745,7 @@ SyncChangeAlarmAttributes(ClientPtr client, SyncAlarm *pAlarm, Mask mask, case XSyncCACounter: mask &= ~XSyncCACounter; /* sanity check in SyncInitTrigger */ @@ -44,22 +44,7 @@ Index: xorg-server-1.8.0/Xext/sync.c break; case XSyncCAValueType: -@@ -808,6 +812,14 @@ SyncChangeAlarmAttributes(ClientPtr clie - return BadMatch; - } - } -+ if (pAlarm->state == XSyncAlarmInactive) { -+ /* -+ * If we are inactive the trigger has been deleted from the counter. -+ * Persuade SyncInitTrigger() to readd it. -+ */ -+ origmask |= XSyncCACounter; -+ pAlarm->trigger.pCounter = NULL; -+ } - - /* postpone this until now, when we're sure nothing else can go wrong */ - if ((status = SyncInitTrigger(client, &pAlarm->trigger, counter, -@@ -815,6 +827,7 @@ SyncChangeAlarmAttributes(ClientPtr clie +@@ -815,6 +819,7 @@ SyncChangeAlarmAttributes(ClientPtr client, SyncAlarm *pAlarm, Mask mask, return status; /* XXX spec does not really say to do this - needs clarification */ @@ -67,7 +52,7 @@ Index: xorg-server-1.8.0/Xext/sync.c pAlarm->state = XSyncAlarmActive; return Success; } -@@ -1617,8 +1630,10 @@ ProcSyncCreateAlarm(ClientPtr client) +@@ -1617,8 +1622,10 @@ ProcSyncCreateAlarm(ClientPtr client) pAlarm->client = client; pAlarm->alarm_id = stuff->id; @@ -78,10 +63,10 @@ Index: xorg-server-1.8.0/Xext/sync.c pAlarm->state = XSyncAlarmInactive; pAlarm->pEventClients = NULL; status = SyncChangeAlarmAttributes(client, pAlarm, vmask, -Index: xorg-server-1.8.0/Xext/syncsrv.h -=================================================================== ---- xorg-server-1.8.0.orig/Xext/syncsrv.h -+++ xorg-server-1.8.0/Xext/syncsrv.h +diff --git a/xorg-server-1.8.0/Xext/syncsrv.h b/xorg-server-1.8.0/Xext/syncsrv.h +index 6d0e3d6..527729d 100644 +--- a/Xext/syncsrv.h ++++ b/Xext/syncsrv.h @@ -129,6 +129,7 @@ typedef struct _SyncAlarm { int events; int state; @@ -90,3 +75,6 @@ Index: xorg-server-1.8.0/Xext/syncsrv.h } SyncAlarm; typedef struct { +-- +1.6.4.2 + diff --git a/dmx-silly.patch b/dmx-silly.patch deleted file mode 100644 index ebb040b..0000000 --- a/dmx-silly.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nru xorg-server-1.8.0.orig/hw/dmx/dmxextension.c xorg-server-1.8.0/hw/dmx/dmxextension.c ---- xorg-server-1.8.0.orig/hw/dmx/dmxextension.c 2009-11-04 17:25:50.000000000 +0100 -+++ xorg-server-1.8.0/hw/dmx/dmxextension.c 2010-04-23 14:31:56.000000000 +0200 -@@ -1160,7 +1160,7 @@ - len_images); - - /* Clean up */ -- free(len_images); -+ free(images); - free(gids); - free(glyphs); - } diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index bcea4cd..2b1b95f 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,17 +1,3 @@ -------------------------------------------------------------------- -Mon Apr 26 10:40:11 UTC 2010 - eich@suse.de - -- Updated "Prevent XSync Alarms from senslessly calling CheckTrigger()" - to make sure SyncTriggerInit() readds trigger to counter (bnc #584919). - -------------------------------------------------------------------- -Mon Apr 26 12:08:44 CEST 2010 - sndirsch@suse.de - -- Xdmx was disabled in favor of Nomad repository but it is - apparently dead (no Xdmx for OpenSUSE 11.2, last build from - early 2009). This patch re-enables Xdmx with some silly typo - fixed (dmx-silly.patch). Contributed by . - ------------------------------------------------------------------- Wed Apr 21 16:03:07 CEST 2010 - eich@suse.de diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 433aad6..9f02862 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -113,7 +113,6 @@ Patch208: xorg-evdev-conf.diff Patch209: sw_cursor_on_randr.patch Patch210: pio_ia64.diff Patch211: 0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch -Patch212: dmx-silly.patch %if %moblin Patch300: moblin-use_preferred_mode_for_all_outputs.diff %endif @@ -237,7 +236,6 @@ popd %patch209 -p1 %patch210 -p1 %patch211 -p1 -%patch212 -p1 %if %moblin %patch300 -p1 %endif @@ -257,7 +255,7 @@ autoreconf -fi --enable-xdm-auth-1 \ --enable-dri \ --enable-dri2 \ - --enable-dmx \ + --disable-dmx \ --enable-xnest \ --enable-kdrive \ --enable-xephyr \ @@ -302,7 +300,6 @@ mkdir -p $RPM_BUILD_ROOT/usr/%{_lib}/xorg/modules/updates/{fonts,input,linux,dri install -m 644 $RPM_SOURCE_DIR/README.updates $RPM_BUILD_ROOT/usr/%{_lib}/xorg/modules/updates mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d install -m 644 $RPM_SOURCE_DIR/modprobe.nvidia $RPM_BUILD_ROOT/etc/modprobe.d/50-nvidia.conf -gzip -c hw/dmx/Xdmx.man > $RPM_BUILD_ROOT/%{_mandir}/man1/Xdmx.1.gz %else rm -f $RPM_BUILD_ROOT/usr/share/aclocal/*.m4 %endif @@ -402,19 +399,6 @@ exit 0 /usr/bin/Xephyr /usr/bin/Xnest /usr/bin/Xvfb -/usr/bin/Xdmx -/usr/bin/dmxaddinput -/usr/bin/dmxaddscreen -/usr/bin/dmxinfo -/usr/bin/dmxreconfig -/usr/bin/dmxresize -/usr/bin/dmxrminput -/usr/bin/dmxrmscreen -/usr/bin/dmxtodmx -/usr/bin/dmxwininfo -/usr/bin/vdltodmx -/usr/bin/xdmxconfig -%{_mandir}/man1/Xdmx.1* %{_mandir}/man1/Xephyr.1* %{_mandir}/man1/Xnest.1* %{_mandir}/man1/Xvfb.1* From df9a27164237df1de1bf6bdcfe6a607144f29192c23fa9a01a4bb23e42924e40 Mon Sep 17 00:00:00 2001 From: OBS User buildservice-autocommit Date: Mon, 26 Apr 2010 21:16:24 +0000 Subject: [PATCH 5/5] Updating link to change in openSUSE:Factory/xorg-x11-server revision 165.0 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=c6eb0ccfb54ab902d1d77ad05455be75 --- ...arms-from-senslessly-calling-CheckTr.patch | 44 ++++++++++++------- dmx-silly.patch | 12 +++++ xorg-x11-server.changes | 14 ++++++ xorg-x11-server.spec | 20 ++++++++- 4 files changed, 72 insertions(+), 18 deletions(-) create mode 100644 dmx-silly.patch diff --git a/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch b/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch index 81c2ae4..cdab25b 100644 --- a/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch +++ b/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch @@ -11,11 +11,11 @@ server on 100 percent CPU load since the select timeout is set to 0. xorg-server-1.8.0/Xext/syncsrv.h | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) -diff --git a/xorg-server-1.8.0/Xext/sync.c b/xorg-server-1.8.0/Xext/sync.c -index fd7b1ad..4c45399 100644 ---- a/Xext/sync.c -+++ b/Xext/sync.c -@@ -518,6 +518,10 @@ SyncAlarmTriggerFired(SyncTrigger *pTrigger) +Index: xorg-server-1.8.0/Xext/sync.c +=================================================================== +--- xorg-server-1.8.0.orig/Xext/sync.c ++++ xorg-server-1.8.0/Xext/sync.c +@@ -518,6 +518,10 @@ SyncAlarmTriggerFired(SyncTrigger *pTrig pAlarm->state = XSyncAlarmInactive; } } @@ -26,7 +26,7 @@ index fd7b1ad..4c45399 100644 /* The AlarmNotify event has to have the "new state of the alarm" * which we can't be sure of until this point. However, it has * to have the "old" trigger test value. That's the reason for -@@ -730,7 +734,7 @@ SyncChangeAlarmAttributes(ClientPtr client, SyncAlarm *pAlarm, Mask mask, +@@ -730,7 +734,7 @@ SyncChangeAlarmAttributes(ClientPtr clie XSyncCounter counter; Mask origmask = mask; @@ -35,7 +35,7 @@ index fd7b1ad..4c45399 100644 while (mask) { -@@ -741,7 +745,7 @@ SyncChangeAlarmAttributes(ClientPtr client, SyncAlarm *pAlarm, Mask mask, +@@ -741,7 +745,7 @@ SyncChangeAlarmAttributes(ClientPtr clie case XSyncCACounter: mask &= ~XSyncCACounter; /* sanity check in SyncInitTrigger */ @@ -44,7 +44,22 @@ index fd7b1ad..4c45399 100644 break; case XSyncCAValueType: -@@ -815,6 +819,7 @@ SyncChangeAlarmAttributes(ClientPtr client, SyncAlarm *pAlarm, Mask mask, +@@ -808,6 +812,14 @@ SyncChangeAlarmAttributes(ClientPtr clie + return BadMatch; + } + } ++ if (pAlarm->state == XSyncAlarmInactive) { ++ /* ++ * If we are inactive the trigger has been deleted from the counter. ++ * Persuade SyncInitTrigger() to readd it. ++ */ ++ origmask |= XSyncCACounter; ++ pAlarm->trigger.pCounter = NULL; ++ } + + /* postpone this until now, when we're sure nothing else can go wrong */ + if ((status = SyncInitTrigger(client, &pAlarm->trigger, counter, +@@ -815,6 +827,7 @@ SyncChangeAlarmAttributes(ClientPtr clie return status; /* XXX spec does not really say to do this - needs clarification */ @@ -52,7 +67,7 @@ index fd7b1ad..4c45399 100644 pAlarm->state = XSyncAlarmActive; return Success; } -@@ -1617,8 +1622,10 @@ ProcSyncCreateAlarm(ClientPtr client) +@@ -1617,8 +1630,10 @@ ProcSyncCreateAlarm(ClientPtr client) pAlarm->client = client; pAlarm->alarm_id = stuff->id; @@ -63,10 +78,10 @@ index fd7b1ad..4c45399 100644 pAlarm->state = XSyncAlarmInactive; pAlarm->pEventClients = NULL; status = SyncChangeAlarmAttributes(client, pAlarm, vmask, -diff --git a/xorg-server-1.8.0/Xext/syncsrv.h b/xorg-server-1.8.0/Xext/syncsrv.h -index 6d0e3d6..527729d 100644 ---- a/Xext/syncsrv.h -+++ b/Xext/syncsrv.h +Index: xorg-server-1.8.0/Xext/syncsrv.h +=================================================================== +--- xorg-server-1.8.0.orig/Xext/syncsrv.h ++++ xorg-server-1.8.0/Xext/syncsrv.h @@ -129,6 +129,7 @@ typedef struct _SyncAlarm { int events; int state; @@ -75,6 +90,3 @@ index 6d0e3d6..527729d 100644 } SyncAlarm; typedef struct { --- -1.6.4.2 - diff --git a/dmx-silly.patch b/dmx-silly.patch new file mode 100644 index 0000000..ebb040b --- /dev/null +++ b/dmx-silly.patch @@ -0,0 +1,12 @@ +diff -Nru xorg-server-1.8.0.orig/hw/dmx/dmxextension.c xorg-server-1.8.0/hw/dmx/dmxextension.c +--- xorg-server-1.8.0.orig/hw/dmx/dmxextension.c 2009-11-04 17:25:50.000000000 +0100 ++++ xorg-server-1.8.0/hw/dmx/dmxextension.c 2010-04-23 14:31:56.000000000 +0200 +@@ -1160,7 +1160,7 @@ + len_images); + + /* Clean up */ +- free(len_images); ++ free(images); + free(gids); + free(glyphs); + } diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index 2b1b95f..bcea4cd 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Mon Apr 26 10:40:11 UTC 2010 - eich@suse.de + +- Updated "Prevent XSync Alarms from senslessly calling CheckTrigger()" + to make sure SyncTriggerInit() readds trigger to counter (bnc #584919). + +------------------------------------------------------------------- +Mon Apr 26 12:08:44 CEST 2010 - sndirsch@suse.de + +- Xdmx was disabled in favor of Nomad repository but it is + apparently dead (no Xdmx for OpenSUSE 11.2, last build from + early 2009). This patch re-enables Xdmx with some silly typo + fixed (dmx-silly.patch). Contributed by . + ------------------------------------------------------------------- Wed Apr 21 16:03:07 CEST 2010 - eich@suse.de diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 9f02862..e02d058 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -32,7 +32,7 @@ BuildRequires: libjpeg-devel %endif Url: http://xorg.freedesktop.org/ Version: 7.5_%{dirsuffix} -Release: 5 +Release: 6 License: GPLv2+ ; MIT License (or similar) BuildRoot: %{_tmppath}/%{name}-%{version}-build Group: System/X11/Servers/XF86_4 @@ -113,6 +113,7 @@ Patch208: xorg-evdev-conf.diff Patch209: sw_cursor_on_randr.patch Patch210: pio_ia64.diff Patch211: 0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch +Patch212: dmx-silly.patch %if %moblin Patch300: moblin-use_preferred_mode_for_all_outputs.diff %endif @@ -236,6 +237,7 @@ popd %patch209 -p1 %patch210 -p1 %patch211 -p1 +%patch212 -p1 %if %moblin %patch300 -p1 %endif @@ -255,7 +257,7 @@ autoreconf -fi --enable-xdm-auth-1 \ --enable-dri \ --enable-dri2 \ - --disable-dmx \ + --enable-dmx \ --enable-xnest \ --enable-kdrive \ --enable-xephyr \ @@ -300,6 +302,7 @@ mkdir -p $RPM_BUILD_ROOT/usr/%{_lib}/xorg/modules/updates/{fonts,input,linux,dri install -m 644 $RPM_SOURCE_DIR/README.updates $RPM_BUILD_ROOT/usr/%{_lib}/xorg/modules/updates mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d install -m 644 $RPM_SOURCE_DIR/modprobe.nvidia $RPM_BUILD_ROOT/etc/modprobe.d/50-nvidia.conf +gzip -c hw/dmx/Xdmx.man > $RPM_BUILD_ROOT/%{_mandir}/man1/Xdmx.1.gz %else rm -f $RPM_BUILD_ROOT/usr/share/aclocal/*.m4 %endif @@ -399,6 +402,19 @@ exit 0 /usr/bin/Xephyr /usr/bin/Xnest /usr/bin/Xvfb +/usr/bin/Xdmx +/usr/bin/dmxaddinput +/usr/bin/dmxaddscreen +/usr/bin/dmxinfo +/usr/bin/dmxreconfig +/usr/bin/dmxresize +/usr/bin/dmxrminput +/usr/bin/dmxrmscreen +/usr/bin/dmxtodmx +/usr/bin/dmxwininfo +/usr/bin/vdltodmx +/usr/bin/xdmxconfig +%{_mandir}/man1/Xdmx.1* %{_mandir}/man1/Xephyr.1* %{_mandir}/man1/Xnest.1* %{_mandir}/man1/Xvfb.1*