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