PKGBUILDs/community/gsynaptics/do-not-set-zero.dpatch
2009-10-09 21:15:33 -05:00

189 lines
6.3 KiB
Text

#! /bin/sh /usr/share/dpatch/dpatch-run
## do-not-set-zero.dpatch by Michal Čihař <nijel@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Do not set to 0 when some keys are not defined.
## DP: Debian bug #480744.
## DP: Forwarded to https://sourceforge.jp/tracker/index.php?func=detail&aid=12545&group_id=1720&atid=6435
@DPATCH@
diff -urNad gsynaptics-0.9.14~/src/init.c gsynaptics-0.9.14/src/init.c
--- gsynaptics-0.9.14~/src/init.c 2008-02-28 23:27:41.000000000 +0100
+++ gsynaptics-0.9.14/src/init.c 2008-05-17 09:14:12.000000000 +0200
@@ -36,63 +36,148 @@
{
gboolean b_value;
gint i_value;
+ GConfValue *gval = NULL;
if (!gconf_client_dir_exists (gconf, DIRNAME, NULL))
return;
/* touchpad on/off */
- b_value = gconf_client_get_bool (gconf, OFF_KEY, NULL);
- g_synaptics_set_enabled (synaptics, b_value ? 1 : 0);
+ gval = gconf_client_get (gconf, OFF_KEY, NULL);
+ if (gval != NULL) {
+ if (gval->type == GCONF_VALUE_BOOL) {
+ b_value = gconf_value_get_bool(gval);
+ g_synaptics_set_enabled (synaptics, b_value ? 1 : 0);
+ }
+ gconf_value_free(gval);
+ }
/* vertical scroll delta */
- i_value = gconf_client_get_int (gconf, VERTSCROLLDELTA_KEY, NULL);
- g_synaptics_set_vertical_scroll_delta (synaptics, i_value);
+ gval = gconf_client_get (gconf, VERTSCROLLDELTA_KEY, NULL);
+ if (gval != NULL) {
+ if (gval->type == GCONF_VALUE_INT) {
+ i_value = gconf_value_get_int(gval);
+ g_synaptics_set_vertical_scroll_delta (synaptics, i_value);
+ }
+ gconf_value_free(gval);
+ }
/* horizontal scroll delta */
- i_value = gconf_client_get_int (gconf, HORIZSCROLLDELTA_KEY, NULL);
- g_synaptics_set_horizontal_scroll_delta (synaptics, i_value);
+ gval = gconf_client_get (gconf, HORIZSCROLLDELTA_KEY, NULL);
+ if (gval != NULL) {
+ if (gval->type == GCONF_VALUE_INT) {
+ i_value = gconf_value_get_int(gval);
+ g_synaptics_set_horizontal_scroll_delta (synaptics, i_value);
+ }
+ gconf_value_free(gval);
+ }
/* circular scroll */
- i_value = gconf_client_get_int (gconf, CIRCSCROLLDELTA_KEY, NULL);
- b_value = gconf_client_get_bool (gconf, CIRCULARSCROLLING_KEY, NULL);
- g_synaptics_set_circular_scroll_delta (synaptics, i_value);
- g_synaptics_set_circular_scroll_enabled (synaptics, b_value);
+ gval = gconf_client_get (gconf, CIRCSCROLLDELTA_KEY, NULL);
+ if (gval != NULL) {
+ if (gval->type == GCONF_VALUE_INT) {
+ i_value = gconf_value_get_int(gval);
+ g_synaptics_set_circular_scroll_delta (synaptics, i_value);
+ }
+ gconf_value_free(gval);
+ }
+ gval = gconf_client_get (gconf, CIRCULARSCROLLING_KEY, NULL);
+ if (gval != NULL) {
+ if (gval->type == GCONF_VALUE_BOOL) {
+ b_value = gconf_value_get_bool(gval);
+ g_synaptics_set_circular_scroll_enabled (synaptics, b_value);
+ }
+ gconf_value_free(gval);
+ }
/* the trigger of circular scrolling */
- i_value = gconf_client_get_int (gconf, CIRCSCROLLTRIGGER_KEY, NULL);
- g_synaptics_set_circular_scroll_trigger (synaptics, i_value);
+ gval = gconf_client_get (gconf, CIRCSCROLLTRIGGER_KEY, NULL);
+ if (gval != NULL) {
+ if (gval->type == GCONF_VALUE_INT) {
+ i_value = gconf_value_get_int(gval);
+ g_synaptics_set_circular_scroll_trigger (synaptics, i_value);
+ }
+ gconf_value_free(gval);
+ }
/* tapping time */
- i_value = gconf_client_get_int (gconf, MAXTAPTIME_KEY, NULL);
- g_synaptics_set_tap_time (synaptics, i_value);
+ gval = gconf_client_get (gconf, MAXTAPTIME_KEY, NULL);
+ if (gval != NULL) {
+ if (gval->type == GCONF_VALUE_INT) {
+ i_value = gconf_value_get_int(gval);
+ g_synaptics_set_tap_time (synaptics, i_value);
+ }
+ gconf_value_free(gval);
+ }
/* fast taps */
- b_value = gconf_client_get_bool (gconf, FASTTAPS_KEY, NULL);
- g_synaptics_set_fast_taps (synaptics, b_value);
+ gval = gconf_client_get (gconf, FASTTAPS_KEY, NULL);
+ if (gval != NULL) {
+ if (gval->type == GCONF_VALUE_BOOL) {
+ b_value = gconf_value_get_bool(gval);
+ g_synaptics_set_fast_taps (synaptics, b_value);
+ }
+ gconf_value_free(gval);
+ }
/* sensitivity */
- i_value = gconf_client_get_int (gconf, SENSITIVITY_KEY, NULL);
- g_synaptics_set_sensitivity (synaptics, i_value);
+ gval = gconf_client_get (gconf, SENSITIVITY_KEY, NULL);
+ if (gval != NULL) {
+ if (gval->type == GCONF_VALUE_INT) {
+ i_value = gconf_value_get_int(gval);
+ g_synaptics_set_sensitivity (synaptics, i_value);
+ }
+ gconf_value_free(gval);
+ }
/* coasting */
- b_value = gconf_client_get_bool (gconf, COASTENABLE_KEY, NULL);
- g_synaptics_set_coasting_enabled (synaptics, b_value);
+ gval = gconf_client_get (gconf, COASTENABLE_KEY, NULL);
+ if (gval != NULL) {
+ if (gval->type == GCONF_VALUE_BOOL) {
+ b_value = gconf_value_get_bool(gval);
+ g_synaptics_set_coasting_enabled (synaptics, b_value);
+ }
+ gconf_value_free(gval);
+ }
/* edge motion */
- b_value = gconf_client_get_bool (gconf, EDGEMOTIONUSEALWAYS_KEY, NULL);
- g_synaptics_set_edge_motion_enabled (synaptics, b_value);
+ gval = gconf_client_get (gconf, EDGEMOTIONUSEALWAYS_KEY, NULL);
+ if (gval != NULL) {
+ if (gval->type == GCONF_VALUE_BOOL) {
+ b_value = gconf_value_get_bool(gval);
+ g_synaptics_set_edge_motion_enabled (synaptics, b_value);
+ }
+ gconf_value_free(gval);
+ }
/* min speed */
- i_value = gconf_client_get_int (gconf, MINSPEED_KEY, NULL);
- g_synaptics_set_min_speed (synaptics, i_value);
+ gval = gconf_client_get (gconf, MINSPEED_KEY, NULL);
+ if (gval != NULL) {
+ if (gval->type == GCONF_VALUE_INT) {
+ i_value = gconf_value_get_int(gval);
+ g_synaptics_set_min_speed (synaptics, i_value);
+ }
+ gconf_value_free(gval);
+ }
/* max speed */
- i_value = gconf_client_get_int (gconf, MAXSPEED_KEY, NULL);
- g_synaptics_set_max_speed (synaptics, i_value);
+ gval = gconf_client_get (gconf, MAXSPEED_KEY, NULL);
+ if (gval != NULL) {
+ if (gval->type == GCONF_VALUE_INT) {
+ i_value = gconf_value_get_int(gval);
+ g_synaptics_set_max_speed (synaptics, i_value);
+ }
+ gconf_value_free(gval);
+ }
/* accel factor */
- i_value = gconf_client_get_int (gconf, ACCELFACTOR_KEY, NULL);
- g_synaptics_set_accel_factor (synaptics, i_value);
+ gval = gconf_client_get (gconf, ACCELFACTOR_KEY, NULL);
+ if (gval != NULL) {
+ if (gval->type == GCONF_VALUE_INT) {
+ i_value = gconf_value_get_int(gval);
+ g_synaptics_set_accel_factor (synaptics, i_value);
+ }
+ gconf_value_free(gval);
+ }
}