diff options
author | mrxx | 2021-02-02 12:01:04 +0100 |
---|---|---|
committer | mrxx | 2021-02-02 12:01:04 +0100 |
commit | 7b720aa14e020bf90ea383436ab75232a16d810e (patch) | |
tree | ff7fe651ab1963e359ea84ca85bc65993ccf26c6 | |
parent | 75bda9f23b9d48c60230b4c65a8385be410e3fd8 (diff) | |
download | aur-7b720aa14e020bf90ea383436ab75232a16d810e.tar.gz |
Fix segfault
-rw-r--r-- | .SRCINFO | 9 | ||||
-rw-r--r-- | PKGBUILD | 13 | ||||
-rw-r--r-- | board-fix-segfault.patch | 29 |
3 files changed, 41 insertions, 10 deletions
@@ -1,9 +1,8 @@ pkgbase = gmchess - pkgdesc = Chinese chess game + pkgdesc = Play Chinese chess (Xiangqi) against a human opponent or the computer pkgver = 0.29.6 - pkgrel = 4 + pkgrel = 5 url = https://salsa.debian.org/chinese-team/gmchess - install = gmchess.install arch = i686 arch = x86_64 license = GPL2 @@ -14,9 +13,9 @@ pkgbase = gmchess conflicts = eleeye-bin conflicts = convert-pgn-bin source = gmchess-0.29.6.tar.gz::https://salsa.debian.org/chinese-team/gmchess/-/archive/master/gmchess-master.tar.gz - source = gmchess.install + source = board-fix-segfault.patch sha1sums = 26fb365af83d3364a699175718ca0573c0b62ca5 - sha1sums = 8ce9d92ee9cda1709098d0a0a46ce9cca9fa83ba + sha1sums = 49e378db48b0d10188480084f6bd9f2c0d0d28e2 pkgname = gmchess @@ -4,7 +4,7 @@ pkgname=gmchess pkgver=0.29.6 -pkgrel=4 +pkgrel=5 pkgdesc="Play Chinese chess (Xiangqi) against a human opponent or the computer" arch=("i686" "x86_64") url="https://salsa.debian.org/chinese-team/gmchess" @@ -12,10 +12,14 @@ license=('GPL2') depends=("gtkmm") makedepends=('pkgconfig' 'intltool') conflicts=('gmchess-bin' 'eleeye-bin' 'convert-pgn-bin') -install=gmchess.install -source=("$pkgname-$pkgver.tar.gz::https://salsa.debian.org/chinese-team/gmchess/-/archive/master/${pkgname}-master.tar.gz" 'gmchess.install') +source=("$pkgname-$pkgver.tar.gz::https://salsa.debian.org/chinese-team/gmchess/-/archive/master/${pkgname}-master.tar.gz" 'board-fix-segfault.patch') sha1sums=('26fb365af83d3364a699175718ca0573c0b62ca5' - '8ce9d92ee9cda1709098d0a0a46ce9cca9fa83ba') + '49e378db48b0d10188480084f6bd9f2c0d0d28e2') + +prepare() { + cd "$srcdir/${pkgname}-master" + patch -p0 -i "${srcdir}/board-fix-segfault.patch" +} build() { cd "$srcdir/${pkgname}-master" @@ -36,7 +40,6 @@ package(){ install -d -m755 $pkgdir/usr/lib install -d -m755 $pkgdir/usr/bin - cp -r $srcdir/usr/share/locale/ $pkgdir/usr/share/ cp -r $srcdir/usr/share/man/ $pkgdir/usr/share/ cp -r $srcdir/usr/share/$pkgname/ $pkgdir/usr/share diff --git a/board-fix-segfault.patch b/board-fix-segfault.patch new file mode 100644 index 000000000000..6c30d4ae16f9 --- /dev/null +++ b/board-fix-segfault.patch @@ -0,0 +1,29 @@ +--- src/Board.cc.orig 2018-02-07 16:46:27.000000000 +0100 ++++ src/Board.cc 2021-02-02 11:28:52.653930660 +0100 +@@ -301,8 +301,13 @@ + { +- //if(ui_pixmap) +- // return true; ++ if (!get_mapped()) ++ return false; ++ if (ui_pixmap) { ++ int w,h; ++ ui_pixmap->get_size(w,h); ++ if (get_width() == w || get_height() == h) ++ return false; ++ } + ui_pixmap = Gdk::Pixmap::create(this->get_window(),get_width(),get_height()); +- + redraw(); +- ++ return false; + } +@@ -317,4 +322,8 @@ + } ++ + void Board::redraw() + { ++ if (!ui_pixmap) ++ return; ++ + draw_bg(); |