Skip to content

Commit

Permalink
avoid "this == null". some compiler optimization removes this compari…
Browse files Browse the repository at this point in the history
…son.

bump revision
  • Loading branch information
ryo committed Nov 22, 2018
1 parent f66b842 commit 8b1fb2b
Show file tree
Hide file tree
Showing 8 changed files with 107 additions and 13 deletions.
4 changes: 2 additions & 2 deletions wm/icewm/Makefile
@@ -1,7 +1,7 @@
# $NetBSD: Makefile,v 1.48 2018/03/12 11:17:43 wiz Exp $
# $NetBSD: Makefile,v 1.49 2018/11/22 04:56:03 ryo Exp $

COMMENT= Small, fast and light-weight window manager
PKGREVISION= 1
PKGREVISION= 2

CONFLICTS+= icewm-gnome-[0-9]* icewm-imlib-[0-9]*

Expand Down
5 changes: 3 additions & 2 deletions wm/icewm/distinfo
@@ -1,4 +1,4 @@
$NetBSD: distinfo,v 1.41 2016/10/01 20:40:06 mrg Exp $
$NetBSD: distinfo,v 1.42 2018/11/22 04:56:03 ryo Exp $

SHA1 (icewm-1.2.38pre2.tar.gz) = e0fa0ac454c8a7bbe850f114e9a0a82082516da3
RMD160 (icewm-1.2.38pre2.tar.gz) = e2b3fefdae7e1d368920e84d175058e3fe7c8d93
Expand All @@ -10,6 +10,7 @@ SHA1 (patch-aj) = aa357c56d3165f36a347133cf11cc299438617e9
SHA1 (patch-ak) = 8f96d98019071522cd8a9196a029842410e4ede1
SHA1 (patch-src_apppstatus.cc) = ea685b05bdcc7169b8f830409c4948c7ee9092a3
SHA1 (patch-src_base.h) = cd869fd68b2d169fcded97662212e7eccee9c83c
SHA1 (patch-src_wmapp.cc) = ce76173aac533a2555c57555de1335d047c14b10
SHA1 (patch-src_wmapp.cc) = da5b47a2d646be143cf47bf2afdcea3791e4e3b5
SHA1 (patch-src_yarray.h) = c1e96402396bf6120a286e01c57b7202b4a3b9fb
SHA1 (patch-src_yimage.cc) = 907f59a94ffee911259af3d0404ab5c24abaaf76
SHA1 (patch-src_ypixbuf.cc) = 6ecc2f9b76a2bf0589ae9ea98733f61a49f9afd1
42 changes: 36 additions & 6 deletions wm/icewm/patches/patch-src_wmapp.cc
@@ -1,18 +1,19 @@
$NetBSD: patch-src_wmapp.cc,v 1.1 2016/10/01 20:40:06 mrg Exp $
$NetBSD: patch-src_wmapp.cc,v 1.2 2018/11/22 04:56:03 ryo Exp $

Avoid passing 4-byte aligned data to 8-byte aligned needing functions.
* Avoid passing 4-byte aligned data to 8-byte aligned needing functions.
* Avoid calling method with null instance.

--- src/wmapp.cc.orig 2009-11-08 10:59:46.000000000 -0800
+++ src/wmapp.cc 2016-10-01 13:14:03.000000000 -0700
@@ -219,6 +219,7 @@
--- src/wmapp.cc.orig 2009-11-08 18:59:46.000000000 +0000
+++ src/wmapp.cc
@@ -219,6 +219,7 @@ static void registerProtocols2(Window xi
#endif

pid_t pid = getpid();
+ long lpid = (long)pid;
const char wmname[] = "IceWM "VERSION" ("HOSTOS"/"HOSTCPU")";

#ifdef GNOME1_HINTS
@@ -238,7 +239,7 @@
@@ -238,7 +239,7 @@ static void registerProtocols2(Window xi

XChangeProperty(xapp->display(), xid,
_XA_NET_WM_PID, XA_CARDINAL, 32,
Expand All @@ -21,3 +22,32 @@ Avoid passing 4-byte aligned data to 8-byte aligned needing functions.

XChangeProperty(xapp->display(), xid,
_XA_NET_WM_NAME, XA_STRING, 8,
@@ -607,14 +608,21 @@ static void initPixmaps() {

for (int a = 0; a <= 1; a++) {
for (int b = 0; b <= 1; b++) {
- frameT[a][b]->replicate(true, copyMask);
- frameB[a][b]->replicate(true, copyMask);
- frameL[a][b]->replicate(false, copyMask);
- frameR[a][b]->replicate(false, copyMask);
+ if (frameT[a][b] != null)
+ frameT[a][b]->replicate(true, copyMask);
+ if (frameB[a][b] != null)
+ frameB[a][b]->replicate(true, copyMask);
+ if (frameL[a][b] != null)
+ frameL[a][b]->replicate(false, copyMask);
+ if (frameR[a][b] != null)
+ frameR[a][b]->replicate(false, copyMask);
}
- titleS[a]->replicate(true, copyMask);
- titleT[a]->replicate(true, copyMask);
- titleB[a]->replicate(true, copyMask);
+ if (titleS[a] != null)
+ titleS[a]->replicate(true, copyMask);
+ if (titleT[a] != null)
+ titleT[a]->replicate(true, copyMask);
+ if (titleB[a] != null)
+ titleB[a]->replicate(true, copyMask);
}

menuButton[0] = paths.loadPixmap(0, "menuButtonI.xpm");
15 changes: 15 additions & 0 deletions wm/icewm/patches/patch-src_yimage.cc
@@ -0,0 +1,15 @@
$NetBSD: patch-src_yimage.cc,v 1.1 2018/11/22 04:56:03 ryo Exp $

* "this" must not be null. comparison with null will be removed by compiler optimization.

--- src/yimage.cc.orig 2009-11-08 18:59:46.000000000 +0000
+++ src/yimage.cc
@@ -244,7 +244,7 @@ YPixmap::~YPixmap() {
}

void YPixmap::replicate(bool horiz, bool copyMask) {
- if (this == NULL || pixmap() == None || (fMask == None && copyMask))
+ if (pixmap() == None || (fMask == None && copyMask))
return;

int dim(horiz ? width() : height());
4 changes: 2 additions & 2 deletions wm/icewm13/Makefile
@@ -1,7 +1,7 @@
# $NetBSD: Makefile,v 1.6 2018/07/18 00:06:24 joerg Exp $
# $NetBSD: Makefile,v 1.7 2018/11/22 04:56:03 ryo Exp $

DISTNAME= icewm-1.3.8
PKGREVISION= 2
PKGREVISION= 3
CATEGORIES= wm
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=icewm/}

Expand Down
4 changes: 3 additions & 1 deletion wm/icewm13/distinfo
@@ -1,9 +1,11 @@
$NetBSD: distinfo,v 1.2 2015/11/02 23:42:52 agc Exp $
$NetBSD: distinfo,v 1.3 2018/11/22 04:56:03 ryo Exp $

SHA1 (icewm-1.3.8.tar.gz) = dc9155227129be14aced00c24c572356e0fa5cd8
RMD160 (icewm-1.3.8.tar.gz) = cacf40e529a10ab8eb33961236432efd080e81b6
SHA512 (icewm-1.3.8.tar.gz) = ce9bf3e736a2f3fad4bbf731647b4e4ad0168cd2c4af66b1c43beef9ceeee39d14909714d2fc73ab13f6c285a74dfe31fffc9677ae8bd2d1077716cd6d6afb72
Size (icewm-1.3.8.tar.gz) = 905680 bytes
SHA1 (patch-Makefile.in) = c283daa93d33270cc9a648e083fc75c8a695d59d
SHA1 (patch-src_wmapp.cc) = a2a7cf6d5b1f12e2e6a832b7cd1e320a7be4f055
SHA1 (patch-src_wmtaskbar.cc) = 5e536a60b9d0a604369f6cc3010e7f577f103d5d
SHA1 (patch-src_yimage.cc) = 5d825354579d05844986192dc55b5a27eac4483c
SHA1 (patch-src_ylocale.cc) = 193d3c8b59175855054d3e825b2da4ea0c968123
33 changes: 33 additions & 0 deletions wm/icewm13/patches/patch-src_wmapp.cc
@@ -0,0 +1,33 @@
$NetBSD: patch-src_wmapp.cc,v 1.1 2018/11/22 04:56:03 ryo Exp $

--- src/wmapp.cc.orig 2013-11-17 16:54:39.000000000 +0000
+++ src/wmapp.cc
@@ -621,14 +621,21 @@ static void initPixmaps() {

for (int a = 0; a <= 1; a++) {
for (int b = 0; b <= 1; b++) {
- frameT[a][b]->replicate(true, copyMask);
- frameB[a][b]->replicate(true, copyMask);
- frameL[a][b]->replicate(false, copyMask);
- frameR[a][b]->replicate(false, copyMask);
+ if (frameT[a][b] != null)
+ frameT[a][b]->replicate(true, copyMask);
+ if (frameB[a][b] != null)
+ frameB[a][b]->replicate(true, copyMask);
+ if (frameL[a][b] != null)
+ frameL[a][b]->replicate(false, copyMask);
+ if (frameR[a][b] != null)
+ frameR[a][b]->replicate(false, copyMask);
}
- titleS[a]->replicate(true, copyMask);
- titleT[a]->replicate(true, copyMask);
- titleB[a]->replicate(true, copyMask);
+ if (titleS[a] != null)
+ titleS[a]->replicate(true, copyMask);
+ if (titleT[a] != null)
+ titleT[a]->replicate(true, copyMask);
+ if (titleB[a] != null)
+ titleB[a]->replicate(true, copyMask);
}

menuButton[0] = paths->loadPixmap(0, "menuButtonI.xpm");
13 changes: 13 additions & 0 deletions wm/icewm13/patches/patch-src_yimage.cc
@@ -0,0 +1,13 @@
$NetBSD: patch-src_yimage.cc,v 1.1 2018/11/22 04:56:03 ryo Exp $

--- src/yimage.cc.orig 2013-11-17 16:54:39.000000000 +0000
+++ src/yimage.cc
@@ -246,7 +246,7 @@ YPixmap::~YPixmap() {
}

void YPixmap::replicate(bool horiz, bool copyMask) {
- if (this == NULL || pixmap() == None || (fMask == None && copyMask))
+ if (pixmap() == None || (fMask == None && copyMask))
return;

int dim(horiz ? width() : height());

0 comments on commit 8b1fb2b

Please sign in to comment.