reverted: --- nvidia-settings-177.78/patch-stamp +++ nvidia-settings-177.78.orig/patch-stamp @@ -1,5 +0,0 @@ -Patches applied in the Debian version of : - -debian/patches/01_allow_dark_themes.dpatch (): - Allow nvidia-settings to work with dark backgrounds - diff -u nvidia-settings-177.78/debian/rules nvidia-settings-177.78/debian/rules --- nvidia-settings-177.78/debian/rules +++ nvidia-settings-177.78/debian/rules @@ -42,7 +42,8 @@ touch build-stamp -clean: +clean: clean-patched unpatch +clean-patched: dh_testdir dh_testroot rm -f build-stamp configure-stamp @@ -56,6 +57,15 @@ dh_clean +patch: patch-stamp +patch-stamp: + dpatch apply-all + dpatch cat-all >patch-stamp + +unpatch: + dpatch deapply-all + rm -rf patch-stamp debian/patched + install: build dh_testdir dh_testroot @@ -111 +121 @@ -.PHONY: build clean binary-indep binary-arch binary install configure +.PHONY: build clean binary-indep binary-arch binary install configure unpatch diff -u nvidia-settings-177.78/debian/changelog nvidia-settings-177.78/debian/changelog --- nvidia-settings-177.78/debian/changelog +++ nvidia-settings-177.78/debian/changelog @@ -1,3 +1,16 @@ +nvidia-settings (177.78-0ubuntu3) intrepid; urgency=low + + * debian/rules: + - Make sure that dpatch actually applies and reverts patches. + * src/gtk+-2.x/ctkglx.c: + - Revert the changes applied by patch 01_allow_dark_themes.dpatch since they + should only be applied by the patch instead of remaining in the source code. + * debian/patches/02_add_missing_serverlayout.dpatch: + - Prevent nvidia-settings from crashing when no ServerLayout section is + found in the xorg.conf (LP: #286424). + + -- Alberto Milone (tseliot) Sat, 01 Nov 2008 13:12:40 +0100 + nvidia-settings (177.78-0ubuntu2) intrepid; urgency=low * Restore ROOT=$(DESTDIR) in the Makefile diff -u nvidia-settings-177.78/debian/patches/00list nvidia-settings-177.78/debian/patches/00list --- nvidia-settings-177.78/debian/patches/00list +++ nvidia-settings-177.78/debian/patches/00list @@ -1,0 +2 @@ +02_add_missing_serverlayout reverted: --- nvidia-settings-177.78/debian/patched/01_allow_dark_themes.dpatch +++ nvidia-settings-177.78.orig/debian/patched/01_allow_dark_themes.dpatch @@ -1 +0,0 @@ -patching file src/gtk+-2.x/ctkglx.c only in patch2: unchanged: --- nvidia-settings-177.78.orig/debian/patches/02_add_missing_serverlayout.dpatch +++ nvidia-settings-177.78/debian/patches/02_add_missing_serverlayout.dpatch @@ -0,0 +1,76 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 02_add_missing_serverlayout.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: prevent nvidia-settings from crashing when no serverlayout section is found. + +@DPATCH@ +diff -urNad nvidia-settings-177.78~/src/XF86Config-parser/Merge.c nvidia-settings-177.78/src/XF86Config-parser/Merge.c +--- nvidia-settings-177.78~/src/XF86Config-parser/Merge.c 2008-09-26 20:44:18.000000000 +0200 ++++ nvidia-settings-177.78/src/XF86Config-parser/Merge.c 2008-11-01 12:49:39.000000000 +0100 +@@ -632,7 +632,30 @@ + + } /* xconfigMergeAllScreens() */ + ++static void add_layout(GenerateOptions *gop, XConfigPtr config); + ++static void add_layout(GenerateOptions *gop, XConfigPtr config) ++{ ++ XConfigLayoutPtr layout; ++ XConfigAdjacencyPtr adj; ++ ++ ++ /* create empty layout */ ++ ++ layout = xconfigAlloc(sizeof(XConfigLayoutRec)); ++ ++ layout->identifier = xconfigStrdup("Layout0"); ++ ++ adj = xconfigAlloc(sizeof(XConfigAdjacencyRec)); ++ ++ layout->adjacencies = adj; ++ ++ xconfigGenerateAssignScreenAdjacencies(layout); ++ ++ layout->next = config->layouts; ++ config->layouts = layout; ++ ++} /* add_layout() */ + + /* + * xconfigMergeLayout() - Updates information in the destination's first +@@ -650,7 +673,9 @@ + + /* Clear the destination's adjacency list */ + +- xconfigFreeAdjacencyList(dstLayout->adjacencies); ++ if ( dstLayout != NULL) { ++ xconfigFreeAdjacencyList(dstLayout->adjacencies); ++ } + + /* Copy adjacencies over */ + +@@ -688,7 +713,22 @@ + /* Add adjacency at the end of the list */ + + if ( !lastDstAdj ) { +- dstLayout->adjacencies = dstAdj; ++ ++ if ( dstAdj != NULL && dstLayout != NULL) { ++ dstLayout->adjacencies = dstAdj; ++ } ++ else { ++ /* regenerate ServerLayout */ ++ GenerateOptions gop; ++ gop.keyboard = NULL; ++ gop.mouse = NULL; ++ gop.keyboard_driver = NULL; ++ ++ add_layout(&gop, dstConfig); ++ ++ xconfigMergeLayout(dstConfig, srcConfig); ++ } ++ + } else { + lastDstAdj->next = dstAdj; + }