Commit 588e560
committed
Avoid attempt to draw images with target width/height of 0
Recently, the ability to scale images for the desired target size of a
drawImage operation executed on a GC and the incorporation of a
Transform potentially applied to that GC have been implemented. With
this, the target size for an image to be drawn can become 0 and the
request of a handle of that size can fail, in particular when trying to
rasterize an SVG at that size.
This change adapts the implementation of the handle retrieval for a
desired size in the Image implementation so that the minimum size of the
provided handle is 1 in both of the dimensions. The draw operation in
the GC will then take care of potentially not drawing anything at all
when the actual intended size is really 0.
It also adds a test case for the specific case of requesting a handle at
size 0 and also adds a test for the general correctness of image handle
retrieval when a transform is applied to the GC.
Fixes #30781 parent 4a95cb2 commit 588e560
File tree
4 files changed
+53
-4
lines changed- bundles/org.eclipse.swt/Eclipse SWT
- cocoa/org/eclipse/swt/graphics
- gtk/org/eclipse/swt/graphics
- win32/org/eclipse/swt/graphics
- tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit
4 files changed
+53
-4
lines changedLines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1878 | 1878 | | |
1879 | 1879 | | |
1880 | 1880 | | |
1881 | | - | |
| 1881 | + | |
1882 | 1882 | | |
1883 | 1883 | | |
1884 | 1884 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1025 | 1025 | | |
1026 | 1026 | | |
1027 | 1027 | | |
1028 | | - | |
| 1028 | + | |
1029 | 1029 | | |
1030 | 1030 | | |
1031 | 1031 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
941 | 941 | | |
942 | 942 | | |
943 | 943 | | |
944 | | - | |
945 | | - | |
| 944 | + | |
| 945 | + | |
946 | 946 | | |
947 | 947 | | |
948 | 948 | | |
| |||
Lines changed: 49 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
| 31 | + | |
30 | 32 | | |
31 | 33 | | |
32 | 34 | | |
| |||
48 | 50 | | |
49 | 51 | | |
50 | 52 | | |
| 53 | + | |
51 | 54 | | |
52 | 55 | | |
53 | 56 | | |
54 | 57 | | |
55 | 58 | | |
56 | 59 | | |
| 60 | + | |
| 61 | + | |
57 | 62 | | |
58 | 63 | | |
59 | 64 | | |
| |||
394 | 399 | | |
395 | 400 | | |
396 | 401 | | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
397 | 446 | | |
398 | 447 | | |
399 | 448 | | |
| |||
0 commit comments