[xfce4-settings/f14] Add patch to fix crash in usb handler. Fixes bug #717719

Kevin Fenzi kevin at fedoraproject.org
Sun Jul 3 13:44:45 UTC 2011


commit d21626f7841c951572ad9224bd1e682181925c5e
Author: Kevin Fenzi <kevin at scrye.com>
Date:   Sun Jul 3 07:44:30 2011 -0600

    Add patch to fix crash in usb handler. Fixes bug #717719

 xfce4-settings-4.6.5-usbfix.patch |   42 +++++++++++++++++++++++++++++++++++++
 xfce4-settings.spec               |    8 ++++++-
 2 files changed, 49 insertions(+), 1 deletions(-)
---
diff --git a/xfce4-settings-4.6.5-usbfix.patch b/xfce4-settings-4.6.5-usbfix.patch
new file mode 100644
index 0000000..9affd72
--- /dev/null
+++ b/xfce4-settings-4.6.5-usbfix.patch
@@ -0,0 +1,42 @@
+--- a/xfce4-settings-helper/pointers.c	
++++ a/xfce4-settings-helper/pointers.c	
+@@ -310,7 +310,7 @@ xfce_pointers_helper_change_feedback (XDevice *device,
+                                       gint     threshold,
+                                       gdouble  acceleration)
+ {
+-    XFeedbackState      *states;
++    XFeedbackState      *states, *pt;
+     gint                 num_feedbacks;
+     XPtrFeedbackControl  feedback;
+     gint                 n;
+@@ -323,10 +323,10 @@ xfce_pointers_helper_change_feedback (XDevice *device,
+     if (G_LIKELY (states))
+     {
+         /* get the pointer feedback class */
+-        for (n = 0; n < num_feedbacks; n++)
++        for (pt = states, n = 0; n < num_feedbacks; n++)
+         {
+             /* find the pointer feedback class */
+-            if (states->class == PtrFeedbackClass)
++            if (pt->class == PtrFeedbackClass)
+             {
+                 if (acceleration > 0 || acceleration == -1)
+                 {
+@@ -351,7 +351,7 @@ xfce_pointers_helper_change_feedback (XDevice *device,
+                 /* create a new feedback */
+                 feedback.class      = PtrFeedbackClass;
+                 feedback.length     = sizeof (XPtrFeedbackControl);
+-                feedback.id         = states->id;
++                feedback.id         = pt->id;
+                 feedback.threshold  = threshold;
+                 feedback.accelNum   = num;
+                 feedback.accelDenom = denom;
+@@ -364,7 +364,7 @@ xfce_pointers_helper_change_feedback (XDevice *device,
+             }
+ 
+             /* advance the offset */
+-            states = (XFeedbackState *) ((gchar *) states + states->length);
++            pt = (XFeedbackState *) ((gchar *) pt + pt->length);
+         }
+ 
+         /* cleanup */
diff --git a/xfce4-settings.spec b/xfce4-settings.spec
index 0b92a8f..fadaede 100644
--- a/xfce4-settings.spec
+++ b/xfce4-settings.spec
@@ -2,7 +2,7 @@
 
 Name:           xfce4-settings
 Version:        4.6.5
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Settings Manager for Xfce
 
 Group:          User Interface/Desktops
@@ -15,6 +15,8 @@ Patch1: 	xfce4-settings-4.6.4-dsofix.patch
 # Set sticky keys to always stay on. Upstream: http://bugzilla.xfce.org/show_bug.cgi?id=6305
 # Already applied in 4.8
 Patch2:		xfce4-settings-sticky-keys-timeout.patch
+# Already applied in 4.8
+Patch3:		xfce4-settings-4.6.5-usbfix.patch
 # use vendor's artwork
 Patch10:        xfce4-settings-4.6.0-fedora.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -46,6 +48,7 @@ This package includes the settings manager applications for the Xfce desktop.
 %setup -q
 %patch1 -p1 -b .dsofix
 %patch2 -p1 -b .sticky-keys
+%patch3 -p1 -b .usbfix
 %patch10 -p1 -b .vendor
 
 %build
@@ -124,6 +127,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/applications/xfce*.desktop
 
 %changelog
+* Sun Jul 03 2011 Kevin Fenzi <kevin at scrye.com> - 4.6.5-3
+- Add patch to fix crash in usb handler. Fixes bug #717719
+
 * Tue Mar 29 2011 Kevin Fenzi <kevin at tummy.com> - 4.6.5-2
 - Apply patch to make sticky keys never timeout. 
 - Upstream bug http://bugzilla.xfce.org/show_bug.cgi?id=6305


More information about the scm-commits mailing list