Skip to content

Commit 0133980

Browse files
author
zhourenjian
committed
Fixed bug that #setImage for *.png after *.gif may result in two images in the background.
Fixed bug that #setData will throw NPE.
1 parent cc37f56 commit 0133980

File tree

9 files changed

+11
-0
lines changed

9 files changed

+11
-0
lines changed

sources/net.sf.j2s.java.org.eclipse.swt/src/org/eclipse/swt/widgets/Button.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -983,6 +983,7 @@ public void setImage (Image image) {
983983
handleStyle.backgroundImage = "";
984984
handleStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"" + this.image.url + "\", sizingMethod=\"image\")";
985985
} else {
986+
if (handleStyle.filter != null) handleStyle.filter = "";
986987
handleStyle.backgroundRepeat = "no-repeat";
987988
String bgXPos = "center";
988989
if ((style & (SWT.RADIO | SWT.CHECK)) != 0) {

sources/net.sf.j2s.java.org.eclipse.swt/src/org/eclipse/swt/widgets/Decorations.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1446,6 +1446,7 @@ public void setImage (Image image) {
14461446
iconStyle.backgroundImage = "";
14471447
iconStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"" + this.image.url + "\", sizingMethod=\"image\")";
14481448
} else {
1449+
if (iconStyle.filter != null) iconStyle.filter = "";
14491450
iconStyle.backgroundRepeat = "no-repeat";
14501451
iconStyle.backgroundPosition = "center center";
14511452
iconStyle.backgroundImage = "url(\"" + this.image.url + "\")";

sources/net.sf.j2s.java.org.eclipse.swt/src/org/eclipse/swt/widgets/Label.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -522,6 +522,7 @@ public void setImage (Image image) {
522522
handleStyle.backgroundImage = "";
523523
handleStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"" + this.image.url + "\", sizingMethod=\"image\")";
524524
} else {
525+
if (handleStyle.filter != null) handleStyle.filter = "";
525526
handleStyle.backgroundRepeat = "no-repeat";
526527
handleStyle.backgroundPosition = "left center";
527528
handleStyle.backgroundImage = "url(\"" + this.image.url + "\")";

sources/net.sf.j2s.java.org.eclipse.swt/src/org/eclipse/swt/widgets/MenuItem.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -966,6 +966,7 @@ public void setImage (Image image) {
966966
handleStyle.backgroundImage = "";
967967
handleStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"" + this.image.url + "\", sizingMethod=\"image\")";
968968
} else {
969+
if (handleStyle.filter != null) handleStyle.filter = "";
969970
handleStyle.backgroundImage = "url(\"" + this.image.url + "\")";
970971
}
971972
}

sources/net.sf.j2s.java.org.eclipse.swt/src/org/eclipse/swt/widgets/TabItem.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,7 @@ public void setImage (Image image) {
279279
handleStyle.backgroundImage = "";
280280
handleStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"" + this.image.url + "\", sizingMethod=\"image\")";
281281
} else {
282+
if (handleStyle.filter != null) handleStyle.filter = "";
282283
// handleStyle.backgroundRepeat = "no-repeat";
283284
// handleStyle.backgroundPosition = "left center";
284285
handleStyle.backgroundImage = "url(\"" + this.image.url + "\")";

sources/net.sf.j2s.java.org.eclipse.swt/src/org/eclipse/swt/widgets/TableItem.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1117,6 +1117,7 @@ public void setImage (int index, Image image) {
11171117
handleStyle.backgroundImage = "";
11181118
handleStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"" + this.image.url + "\", sizingMethod=\"image\")";
11191119
} else {
1120+
if (handleStyle.filter != null) handleStyle.filter = "";
11201121
handleStyle.backgroundImage = "url(\"" + this.image.url + "\")";
11211122
}
11221123
}

sources/net.sf.j2s.java.org.eclipse.swt/src/org/eclipse/swt/widgets/ToolItem.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1361,6 +1361,7 @@ void updateImages (boolean enabled) {
13611361
handleStyle.backgroundImage = "";
13621362
handleStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"" + this.image.url + "\", sizingMethod=\"image\")";
13631363
} else {
1364+
if (handleStyle.filter != null) handleStyle.filter = "";
13641365
handleStyle.backgroundImage = "url(\"" + this.image.url + "\")";
13651366
}
13661367
}

sources/net.sf.j2s.java.org.eclipse.swt/src/org/eclipse/swt/widgets/TreeItem.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1560,6 +1560,7 @@ public void setImage (int index, Image image) {
15601560
handleStyle.backgroundImage = "";
15611561
handleStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"" + this.image.url + "\", sizingMethod=\"image\")";
15621562
} else {
1563+
if (handleStyle.filter != null) handleStyle.filter = "";
15631564
handleStyle.backgroundImage = "url(\"" + this.image.url + "\")";
15641565
}
15651566
}

sources/net.sf.j2s.java.org.eclipse.swt/src/org/eclipse/swt/widgets/Widget.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1602,13 +1602,15 @@ public void setData (String key, Object value) {
16021602
Object [] table = null;
16031603
if ((state & KEYED_DATA) != 0) {
16041604
table = (Object []) data;
1605+
if (table == null) return;
16051606
while (index < table.length) {
16061607
if (key.equals (table [index])) break;
16071608
index += 2;
16081609
}
16091610
}
16101611
if (value != null) {
16111612
if ((state & KEYED_DATA) != 0) {
1613+
if (table == null) return;
16121614
if (index == table.length) {
16131615
Object [] newTable = new Object [table.length + 2];
16141616
System.arraycopy (table, 0, newTable, 0, table.length);
@@ -1624,6 +1626,7 @@ public void setData (String key, Object value) {
16241626
table [index + 1] = value;
16251627
} else {
16261628
if ((state & KEYED_DATA) != 0) {
1629+
if (table == null) return;
16271630
if (index != table.length) {
16281631
int length = table.length - 2;
16291632
if (length == 1) {

0 commit comments

Comments
 (0)