Author: blino
Date: Tue Feb  6 20:04:19 2007
New Revision: 116907

Added:
   
packages/cooker/kpowersave/current/SOURCES/kpowersave-0.7.1-stability_fixes.patch
Modified:
   packages/cooker/kpowersave/current/SPECS/kpowersave.spec

Log:
add some stability fixes from svn (#27890)

Added: 
packages/cooker/kpowersave/current/SOURCES/kpowersave-0.7.1-stability_fixes.patch
==============================================================================
--- (empty file)
+++ 
packages/cooker/kpowersave/current/SOURCES/kpowersave-0.7.1-stability_fixes.patch
   Tue Feb  6 20:04:19 2007
@@ -0,0 +1,149 @@
+Index: src/hardware.cpp
+===================================================================
+--- src/hardware.cpp   (revision 2717)
++++ src/hardware.cpp   (revision 2718)
+@@ -384,7 +384,7 @@
+       
+       if (dbus_HAL->halGetPropertyString(HAL_COMPUTER_UDI, 
"system.formfactor", &ret)) {
+ 
+-              if (ret.startsWith("laptop"))
++              if (!ret.isEmpty() && ret.startsWith("laptop"))
+                       laptop = true;
+               else 
+                       laptop = false;
+@@ -408,18 +408,15 @@
+       
+       if (dbus_HAL->halGetPropertyString( HAL_COMPUTER_UDI, 
"power_management.type", &ret)) {
+       
+-              if (ret.startsWith("acpi")) {
++              if (ret.isEmpty()) {
++                      return;
++              } else if (ret.startsWith("acpi")) {
+                       has_ACPI = true;
+               } else if (ret.startsWith("apm")) {
+                       has_APM = true;
+               } else if (ret.startsWith("pmu")) {
+                       has_PMU = true;
+               }
+-      } else {
+-              // error case
+-              // TODO: add simple code to check proc for this
+-              has_APM = false;
+-              has_ACPI = false;
+       }       
+ }
+ 
+Index: src/dbusHAL.cpp
+===================================================================
+--- src/dbusHAL.cpp    (revision 2717)
++++ src/dbusHAL.cpp    (revision 2718)
+@@ -41,7 +41,9 @@
+ dbusHAL::dbusHAL(){
+       myDebug ("dbusHAL::dbusHAL");
+       dbus_is_connected = false;
++      hal_is_connected = false;
+       aquiredPolicyPower = false;
++      hal_ctx = NULL;
+ 
+       // add pointer to this for filter_function()
+       myInstance=this;
+@@ -215,10 +217,14 @@
+ bool dbusHAL::initHAL(){
+ 
+       if ( !dbus_is_connected ) {
++              freeHAL();
+               return false;
+-      } else  if ( hal_is_connected && hal_ctx != NULL) { 
++      } else if ( hal_is_connected && (hal_ctx != NULL)) { 
+               return true;
+       }
++      
++      // could not connect to HAL, reset all and try again
++      freeHAL();
+ 
+       DBusError error;
+       dbus_error_init(&error);
+@@ -244,7 +250,10 @@
+               return false;
+       }
+ 
+-      hal_ctx = libhal_ctx_new();
++      if((hal_ctx = libhal_ctx_new()) == NULL) {
++              myDebug("Could not init HAL context");
++              return false;
++      }
+ 
+       /* setup dbus connection for hal */
+       if (!libhal_ctx_set_dbus_connection(hal_ctx, dbus_connection)) {
+@@ -300,6 +309,8 @@
+ 
+       if (!initHAL()) 
+               return false;
++      if (udi.isEmpty() || property.isEmpty())
++              return false;
+ 
+       DBusError error;
+       dbus_error_init(&error);
+@@ -332,6 +343,8 @@
+ 
+       if (!initHAL()) 
+               return false;
++      if (udi.isEmpty() || property.isEmpty())
++              return false;
+ 
+       DBusError error;
+       dbus_error_init(&error);
+@@ -365,6 +378,8 @@
+ 
+       if (!initHAL()) 
+               return false;
++      if (udi.isEmpty() || property.isEmpty())
++              return false;
+ 
+       DBusError error;
+       dbus_error_init(&error);
+@@ -398,6 +413,8 @@
+ 
+       if (!initHAL()) 
+               return false;
++      if (udi.isEmpty() || property.isEmpty())
++              return false;
+ 
+       DBusError error;
+       char ** found;
+@@ -436,6 +453,8 @@
+ 
+       if (!initHAL()) 
+               return false;
++      if (udi.isEmpty() || capability.isEmpty())
++              return false;
+ 
+       DBusError error;
+       dbus_error_init(&error);
+@@ -462,6 +481,8 @@
+ 
+       if (!initHAL()) 
+               return false;
++      if (udi.isEmpty() || property.isEmpty())
++              return false;
+ 
+       DBusError error;
+       dbus_error_init(&error);
+@@ -488,6 +509,8 @@
+ 
+       if (!initHAL()) 
+               return false;
++      if (capability.isEmpty())
++              return false;
+ 
+       DBusError error;
+       char ** found;
+@@ -527,6 +550,8 @@
+ 
+       if (!initHAL()) 
+               return false;
++      if (property.isEmpty() || keyval.isEmpty())
++              return false;
+ 
+       DBusError error;
+       char ** found;

Modified: packages/cooker/kpowersave/current/SPECS/kpowersave.spec
==============================================================================
--- packages/cooker/kpowersave/current/SPECS/kpowersave.spec    (original)
+++ packages/cooker/kpowersave/current/SPECS/kpowersave.spec    Tue Feb  6 
20:04:19 2007
@@ -1,6 +1,6 @@
 %define name kpowersave
 %define version 0.7.1
-%define release %mkrel 2
+%define release %mkrel 3
 
 Summary: KDE power management applet
 Name: %{name}
@@ -18,6 +18,9 @@
 # svn diff -c 2745 https://forgesvn1.novell.com/svn/powersave/trunk/kpowersave 
(rediffed)
 # Fixed lock screen on suspend
 Patch3: kpowersave-0.7.1-lock_fixes.patch
+# svn diff -c 2718 https://forgesvn1.novell.com/svn/powersave/trunk/kpowersave 
(rediffed)
+# Stability fixes
+Patch4: kpowersave-0.7.1-stability_fixes.patch
 
 License: GPL
 Group: Graphical desktop/KDE
@@ -79,6 +82,7 @@
 %patch1 -p0 -b .sleep_button
 %patch2 -p1 -b .sleep_fix
 %patch3 -p1 -b .lock_fixes
+%patch4 -p0 -b .stability_fixes
 
 %build
 %make -f admin/Makefile.common cvs

Reply via email to