diff options
author | Charles Bos | 2019-02-20 19:40:15 +0000 |
---|---|---|
committer | Charles Bos | 2019-02-20 19:40:15 +0000 |
commit | 83771d7d62efac866dc53bb853e893d756297eae (patch) | |
tree | 67a50ec4196a2409d1c5d3b311dfb6cbfa8f02a0 | |
parent | afe6bc485be153aecffd668c36dbf3cd19de310b (diff) | |
download | aur-83771d7d62efac866dc53bb853e893d756297eae.tar.gz |
Add fix for #1816629
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 11 | ||||
-rw-r--r-- | ccsm-unicode-fix.patch | 112 |
3 files changed, 123 insertions, 4 deletions
@@ -1,7 +1,7 @@ pkgbase = compiz pkgdesc = Composite manager for Aiglx and Xgl, with plugins and CCSM pkgver = 0.9.14.0 - pkgrel = 4 + pkgrel = 5 url = https://launchpad.net/compiz arch = i686 arch = x86_64 @@ -46,12 +46,14 @@ pkgbase = compiz source = reverse-unity-config.patch source = screenshot-launch-fix.patch source = no-compile-gschemas.patch + source = ccsm-unicode-fix.patch sha256sums = 52cd6a90ffe987bd0415fda23c34e1f3284aa34c4d8b4eefb160fbf4d1f33a2c sha256sums = f4897590b0f677ba34767a29822f8f922a750daf66e8adf47be89f7c2550cf4b sha256sums = 16ddb6311ce42d958505e21ca28faae5deeddce02cb558d55e648380274ba4d9 sha256sums = 6ec9c04540ca1649c687d9ab2c8311caea7075831e2cffe719ec7958c9ebab7b sha256sums = 89ee91a8ea6b1424ef76661ea9a2db43412366aacddc12d24a7adf5e04bfbc61 sha256sums = 4ab3277da201314b3f65e30128bc30704ddee584fdbbfc8d0d83c7e0de91fa9a + sha256sums = 78ab98cb0904cab84d57028f3c07defc5e3596dcd8c0f691bcb57a85f9e0c06e pkgname = compiz @@ -6,7 +6,7 @@ pkgname=compiz pkgver=0.9.14.0 -pkgrel=4 +pkgrel=5 pkgdesc="Composite manager for Aiglx and Xgl, with plugins and CCSM" arch=('i686' 'x86_64') url="https://launchpad.net/compiz" @@ -23,13 +23,15 @@ source=("https://launchpad.net/${pkgname}/${pkgver:0:6}/${pkgver}/+download/${pk "gtk-extents.patch" "reverse-unity-config.patch" "screenshot-launch-fix.patch" - "no-compile-gschemas.patch") + "no-compile-gschemas.patch" + "ccsm-unicode-fix.patch") sha256sums=('52cd6a90ffe987bd0415fda23c34e1f3284aa34c4d8b4eefb160fbf4d1f33a2c' 'f4897590b0f677ba34767a29822f8f922a750daf66e8adf47be89f7c2550cf4b' '16ddb6311ce42d958505e21ca28faae5deeddce02cb558d55e648380274ba4d9' '6ec9c04540ca1649c687d9ab2c8311caea7075831e2cffe719ec7958c9ebab7b' '89ee91a8ea6b1424ef76661ea9a2db43412366aacddc12d24a7adf5e04bfbc61' - '4ab3277da201314b3f65e30128bc30704ddee584fdbbfc8d0d83c7e0de91fa9a') + '4ab3277da201314b3f65e30128bc30704ddee584fdbbfc8d0d83c7e0de91fa9a' + '78ab98cb0904cab84d57028f3c07defc5e3596dcd8c0f691bcb57a85f9e0c06e') prepare() { cd "${pkgname}-${pkgver}" @@ -48,6 +50,9 @@ prepare() { # Don't try to compile gschemas during make install patch -p1 -i "${srcdir}/no-compile-gschemas.patch" + + # Fix unicode related ccsm crashes #1816629 + patch -p1 -i "${srcdir}/ccsm-unicode-fix.patch" } build() { diff --git a/ccsm-unicode-fix.patch b/ccsm-unicode-fix.patch new file mode 100644 index 000000000000..f1920be20285 --- /dev/null +++ b/ccsm-unicode-fix.patch @@ -0,0 +1,112 @@ +diff --git a/compizconfig/compizconfig-python/src/compizconfig.pyx b/compizconfig/compizconfig-python/src/compizconfig.pyx +index 79d6362..60e5301 100644 +--- a/compizconfig/compizconfig-python/src/compizconfig.pyx ++++ b/compizconfig/compizconfig-python/src/compizconfig.pyx +@@ -1,4 +1,5 @@ +-# cython: c_string_type=str, c_string_encoding=ascii, language_level=3 ++# cython: c_string_type=str, c_string_encoding=utf8, language_level=3 ++ + ''' + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License +@@ -471,9 +472,9 @@ cdef CCSSettingValue * EncodeValue (object data, + else: + t = ccsSettingGetType (setting) + if t == TypeString: +- bv.value.asString = strdup (data) ++ bv.value.asString = strdup (data.encode ("utf-8")) + elif t == TypeMatch: +- bv.value.asMatch = strdup (data) ++ bv.value.asMatch = strdup (data.encode ("utf-8")) + elif t == TypeInt: + bv.value.asInt = data + elif t == TypeFloat: +@@ -489,11 +490,11 @@ cdef CCSSettingValue * EncodeValue (object data, + bv.value.asColor.color.blue = data[2] + bv.value.asColor.color.alpha = data[3] + elif t == TypeKey: +- ccsStringToKeyBinding (data, &bv.value.asKey) ++ ccsStringToKeyBinding (data.encode ("utf-8"), &bv.value.asKey) + elif t == TypeButton: +- ccsStringToButtonBinding (data, &bv.value.asButton) ++ ccsStringToButtonBinding (data.encode ("utf-8"), &bv.value.asButton) + elif t == TypeEdge: +- bv.value.asEdge = ccsStringToEdges (data) ++ bv.value.asEdge = ccsStringToEdges (data.encode ("utf-8")) + elif t == TypeBell: + if (data): + bv.value.asBell = 1 +@@ -591,7 +592,7 @@ cdef class Setting: + cdef CCSSettingType t + cdef CCSSettingInfo * i + +- self.ccsSetting = ccsFindSetting (plugin.ccsPlugin, name) ++ self.ccsSetting = ccsFindSetting (plugin.ccsPlugin, name.encode ("utf-8")) + self.plugin = plugin + + self.extendedStrRestrictions = None +@@ -717,7 +718,7 @@ cdef class Plugin: + cdef object hasExtendedString + + def __cinit__ (self, Context context, name): +- self.ccsPlugin = ccsFindPlugin (context.ccsContext, name) ++ self.ccsPlugin = ccsFindPlugin (context.ccsContext, name.encode ("utf-8")) + self.context = context + self.screen = {} + self.groups = {} +@@ -1037,7 +1038,7 @@ cdef class Profile: + + def __cinit__ (self, Context context, name): + self.context = context +- self.name = strdup (name) ++ self.name = strdup (name.encode ("utf-8")) + + def __dealloc__ (self): + free (self.name) +@@ -1059,9 +1060,9 @@ cdef class Backend: + + def __cinit__ (self, Context context, info): + self.context = context +- self.name = strdup (info[0]) +- self.shortDesc = strdup (info[1]) +- self.longDesc = strdup (info[2]) ++ self.name = strdup (info[0].encode ("utf-8")) ++ self.shortDesc = strdup (info[1].encode ("utf-8")) ++ self.longDesc = strdup (info[2].encode ("utf-8")) + self.profileSupport = bool (info[3]) + self.integrationSupport = bool (info[4]) + +@@ -1226,13 +1227,13 @@ cdef class Context: + ccsReadSettings (self.ccsContext) + + def Import (self, path, autoSave = True): +- ret = bool (ccsImportFromFile (self.ccsContext, path, True)) ++ ret = bool (ccsImportFromFile (self.ccsContext, path.encode ("utf-8"), True)) + if autoSave: + ccsWriteSettings (self.ccsContext) + return ret + + def Export (self, path, skipDefaults = False): +- return bool (ccsExportToFile (self.ccsContext, path, skipDefaults)) ++ return bool (ccsExportToFile (self.ccsContext, path.encode ("utf-8"), skipDefaults)) + + property Plugins: + def __get__ (self): +@@ -1247,7 +1248,7 @@ cdef class Context: + return self.currentProfile + def __set__ (self, profile): + self.currentProfile = profile +- ccsSetProfile (self.ccsContext, profile.Name) ++ ccsSetProfile (self.ccsContext, profile.Name.encode ("utf-8")) + ccsReadSettings (self.ccsContext) + + property Profiles: +@@ -1259,7 +1260,7 @@ cdef class Context: + return self.currentBackend + def __set__ (self, backend): + self.currentBackend = backend +- ccsSetBackend (self.ccsContext, backend.Name) ++ ccsSetBackend (self.ccsContext, backend.Name.encode ("utf-8")) + ccsReadSettings (self.ccsContext) + + property Backends: |