Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
6d13d81
[GTK4] Implement DropTarget async drop handling
akurtakov Jul 2, 2026
fba7f07
v4974r8
eclipse-platform-bot Jul 6, 2026
6d81b30
[Gtk4] Fix displaying file permissions
akurtakov Jul 7, 2026
535a571
[Gtk4] Support right click on ToolItem
akurtakov Jul 7, 2026
94de5a6
[Gtk4] Support MenuItem with SWT.CHECK click
akurtakov Jul 7, 2026
28ddc85
[Gtk4] Fix lazily populated menus being empty
akurtakov Jul 8, 2026
8b0fe25
Fix GTK accessibility relation cleanup during dispose
akurtakov Jul 13, 2026
ef962a2
[Cocoa ] Add NSControl[Size/StateValue] enum spellings to bridgesupport
HeikoKlare Jul 14, 2026
2765985
[Cocoa] Remove deprecated CFURLCreateFromFSRef from bridge support
HeikoKlare Jul 14, 2026
3f4b535
[Cocoa] Align ordering in bridgesupport and OS to MacGenerator result
HeikoKlare Jul 14, 2026
17dedb3
[Cocoa] Add generation instruction for file dialog cancel constant
HeikoKlare Jul 14, 2026
80364bc
[Gtk4] Fix stale/unresponsive fast-view restore buttons and toolbar
akurtakov Jul 15, 2026
725c948
[Cocoa] Correct generation for urlForApplicationToOpen[URL|ContentType]
HeikoKlare Jul 14, 2026
a99cbe4
Fix spurious scrollbar on GTK4 Wayland popup menus
akurtakov Jul 16, 2026
1603edd
[Cocoa] Remove deprecated scroller part constants
HeikoKlare Jul 12, 2026
95cb073
[Cocoa] Add generation instructions for PDF export functions
HeikoKlare Jul 14, 2026
a87a78d
v4974r9
eclipse-platform-bot Jul 17, 2026
c76abe1
[Cocoa] Replace deprecated NSProgressIndicatorPreferredThickness
HeikoKlare Jul 12, 2026
2047c61
[Cocoa] Replace deprecated Alert Style and Event Modifier Flag constants
HeikoKlare Jul 20, 2026
f6ad225
[Cocoa] Support architecture-specific enum values in MacGenerator
HeikoKlare Jul 17, 2026
f81b654
Version bumps for 4.41 stream
HeikoKlare Jul 17, 2026
d91b5bd
CTabFolder: support circular page traversal in MRU mode without chevron
fedejeanne Jul 17, 2026
2cb22d1
Version bump(s) for 4.41 stream
fedejeanne Jul 21, 2026
7429274
[Win32] Avoid redundant handle creation in GC.drawImage()
HeikoKlare Jul 8, 2026
1835e73
[Win32] Extend GC.drawImage() handle selection with exact-zoom
HeikoKlare Jul 22, 2026
b7f2b8e
[Win32] Improve size calculation for cropped and scaled image drawing
HeikoKlare Jul 9, 2026
57a97f2
[GTK] Fix SIGSEGV in Tree.removeAll() by disconnecting model before
iloveeclipse Jul 23, 2026
dfbe84b
[Win32] Remove unused ImageList.remove() method
HeikoKlare Jul 25, 2026
635e953
Update NOTICE to list only active source code repositories
akurtakov Jul 27, 2026
7b3acfd
[Win32] Fix drawImage() failing for an empty image
HeikoKlare Jul 24, 2026
c3b682b
[Win32] Reinitialize tool bar item images in place on DPI change
HeikoKlare Jul 28, 2026
80af470
[Win32] Capture tool bar button image index after zoom refresh
HeikoKlare Jul 28, 2026
d4c07af
[GTK4] Re-layout Composite subtree when shown to fix collapsed content
akurtakov Jul 29, 2026
d83771d
[Win32] Fix wrong CTabFolder header height after zoom change
vogella Jul 28, 2026
4043f48
[GTK4] Fix empty lazily-populated submenus (e.g. File > New)
akurtakov Jul 30, 2026
9ad9b73
GTK4: Fix empty popup for disabled CASCADE menu items
akurtakov Jul 29, 2026
5ac8459
[GTK4] Remove menu item actions from the action group on dispose
akurtakov Jul 30, 2026
949d9dd
Add BrowserFunction dispose/redefine regression tests
HeikoKlare Jul 31, 2026
974503e
[GTK4] Fix segfault when a Tree or Table shows a drop highlight
akurtakov Aug 3, 2026
04d7df1
[GTK4] Fix DropTarget passing a formats builder as content formats
akurtakov Aug 3, 2026
8599c18
[GTK4] Fix "Cannot initialize Drag" when re-creating a DragSource
akurtakov Aug 3, 2026
97cba55
v4974r10
eclipse-platform-bot Aug 4, 2026
2e68c71
[Build] Migrate to new home of eclipse platformreleng Docker images
HannesWell Aug 4, 2026
4755f49
[Build] Run API check and javadoc only once per operating system
vogella Aug 5, 2026
2de2b00
Bump dorny/paths-filter from 4.0.2 to 4.0.3
dependabot[bot] Aug 10, 2026
b228e3f
[Win32] Add missing null check in Table tooltip positioning #3487
HeikoKlare Aug 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,15 @@ on:
type: boolean
required: false
default: false
api_check:
description: |
Run the API tools check and generate the javadoc (one of true, false)

Both only depend on the Java sources, so enable this for a single job
per operating system.
type: boolean
required: false
default: false
gtk:
description: |
(Required on Linux only) GTK version to use (one of gtk3, gtk4)
Expand Down Expand Up @@ -108,7 +117,7 @@ jobs:
--threads 1C
-DforkCount=1
'-Dnative=${{ inputs.native }}'
-Papi-check -Pjavadoc
${{ inputs.api_check && '-Papi-check -Pjavadoc' || '' }}
'-Dtycho.baseline.replace=none'
--fail-at-end
-DskipNativeTests=false
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
steps:
- name: Paths filter (PRs only)
if: github.event.pull_request.base
uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2
uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3
id: filter
with:
predicate-quantifier: 'every'
Expand Down Expand Up @@ -93,6 +93,8 @@ jobs:
native: gtk.linux.x86_64
gtk: ${{ matrix.gtk }}
gdk_backend: ${{ matrix.gdk_backend }}
# All Linux jobs build the same Java sources, so check the API and javadoc only once
api_check: ${{ matrix.gtk == 'gtk3' && matrix.gdk_backend == 'x11' }}
performance: ${{ contains(github.event.pull_request.labels.*.name, 'performance') }}
runtodotests: ${{ contains(github.event.pull_request.labels.*.name, 'runtodotests') }}

Expand All @@ -110,6 +112,7 @@ jobs:
runner: windows-latest
java: ${{ matrix.java }}
native: win32.win32.x86_64
api_check: true
performance: ${{ contains(github.event.pull_request.labels.*.name, 'performance') }}
runtodotests: ${{ contains(github.event.pull_request.labels.*.name, 'runtodotests') }}

Expand All @@ -128,5 +131,7 @@ jobs:
runner: ${{ matrix.arch == 'x86_64' && 'macos-15-intel' || 'macos-latest' }}
java: ${{ matrix.java }}
native: cocoa.macosx.${{ matrix.arch }}
# Both macOS fragments compile the same Java sources, so check the API and javadoc only once
api_check: ${{ matrix.arch == 'aarch64' }}
performance: ${{ contains(github.event.pull_request.labels.*.name, 'performance') }}
runtodotests: ${{ contains(github.event.pull_request.labels.*.name, 'runtodotests') }}
4 changes: 2 additions & 2 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ def runOnNativeBuildAgent(String platform, Closure body) {
def dockerImage = null
switch (platform) {
case 'gtk.linux.x86_64':
dockerImage = 'eclipse/platformreleng-debian-swtgtk3nativebuild:10'
dockerImage = 'ghcr.io/eclipse-platform/platformreleng-debian-swtgtk3nativebuild:11'
break
case 'gtk4.linux.x86_64':
dockerImage = 'eclipse/platformreleng-debian-swtnativebuild:12'
dockerImage = 'ghcr.io/eclipse-platform/platformreleng-debian-swtnativebuild:12'
break
}
if (dockerImage != null) {
Expand Down
4 changes: 0 additions & 4 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,7 @@ SPDX-License-Identifier: EPL-2.0

The project maintains the following source code repositories:

* https://github.com/eclipse-platform/eclipse.platform.debug.git
* https://github.com/eclipse-platform/eclipse.platform.git
* https://github.com/eclipse-platform/eclipse.platform.releng.aggregator.git
* https://github.com/eclipse-platform/eclipse.platform.releng.buildtools.git
* https://github.com/eclipse-platform/eclipse.platform.releng.git
* https://github.com/eclipse-platform/eclipse.platform.swt.git
* https://github.com/eclipse-platform/eclipse.platform.ua.git
* https://github.com/eclipse-platform/eclipse.platform.ui.git
Git LFS file not shown

This file was deleted.

Git LFS file not shown

This file was deleted.

Git LFS file not shown

This file was deleted.

Git LFS file not shown

This file was deleted.

Git LFS file not shown

This file was deleted.

Git LFS file not shown

This file was deleted.

Git LFS file not shown

This file was deleted.

Git LFS file not shown

This file was deleted.

Git LFS file not shown

This file was deleted.

Git LFS file not shown

This file was deleted.

Git LFS file not shown

This file was deleted.

Git LFS file not shown

This file was deleted.

Git LFS file not shown

This file was deleted.

Git LFS file not shown

This file was deleted.

2 changes: 1 addition & 1 deletion bundles/org.eclipse.swt.tools/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-SymbolicName: org.eclipse.swt.tools; singleton:=true
Bundle-Version: 3.112.0.qualifier
Bundle-Version: 3.112.100.qualifier
Bundle-ManifestVersion: 2
Export-Package: org.eclipse.swt.tools.internal; x-internal:=true
Bundle-ActivationPolicy: lazy
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -982,6 +982,8 @@ public String[] getExtraAttributeNames(Node node) {
}
} else if (name.equals("class")) {
return new String[]{"swt_superclass"};
} else if (name.equals("enum")) {
return new String[]{"swt_value_aarch64"};
} else if (name.equals("struct")) {
return new String[]{"swt_gen_memmove", "swt_gen_tostring"};
} else if (name.equals("retval")) {
Expand Down Expand Up @@ -1147,10 +1149,10 @@ void generateEnums() {
if (value.indexOf('.') != -1) {
out("double ");
} else {
if (value.equals("4294967295")) {
if (isUint32Max(value)) {
out("int ");
value = "-1";
} else if (value.equals("18446744073709551615")) {
} else if (isUint64Max(value)) {
out("long ");
value = "-1L";
} else {
Expand All @@ -1165,8 +1167,20 @@ void generateEnums() {
}
out(attributes.getNamedItem("name").getNodeValue());
out(" = ");
out(value);
if (isLong && !value.endsWith("L")) out("L");
Node aarch64ValueNode = attributes.getNamedItem("swt_value_aarch64");
if (aarch64ValueNode != null) {
out("IS_X86_64 ? ");
out(value);
if (isLong && !value.endsWith("L")) out("L");
out(" : ");
String aarch64Value = aarch64ValueNode.getNodeValue();
aarch64Value = isUint32Max(aarch64Value) ? "-1" : isUint64Max(aarch64Value) ? "-1L" : aarch64Value;
out(aarch64Value);
if (isLong && !aarch64Value.endsWith("L")) out("L");
} else {
out(value);
if (isLong && !value.endsWith("L")) out("L");
}
out(";");
outln();
} else {
Expand All @@ -1178,6 +1192,17 @@ void generateEnums() {
}
}

private static final String UINT32_MAX = "4294967295";
private static final String UINT64_MAX = "18446744073709551615";

private boolean isUint32Max(String value) {
return value.equals(UINT32_MAX);
}

private boolean isUint64Max(String value) {
return value.equals(UINT64_MAX);
}

boolean getGen(Node node) {
NamedNodeMap attributes = node.getAttributes();
if (attributes == null) return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@ public class CTabFolder extends Composite {
int[] priority = new int[0];
boolean mru = false;
Listener listener;
Listener tabControlZoomListener;
boolean ignoreTraverse;
boolean useDefaultRenderer;

Expand Down Expand Up @@ -345,6 +346,10 @@ void init(int style) {
}
};

// A tab control is rescaled after the folder itself, so its size can only be
// measured reliably once it has processed the zoom change on its own.
tabControlZoomListener = event -> updateFolder(UPDATE_TAB_HEIGHT | REDRAW);

int[] folderEvents = new int[]{
SWT.Dispose,
SWT.DragDetect,
Expand Down Expand Up @@ -2057,6 +2062,8 @@ void onPageTraversal(Event event) {
if (e.doit && !isDisposed()) {
showList(chevronRect);
}
} else {
index = visible [(current + offset + idx) % idx];
}
}
}
Expand Down Expand Up @@ -4184,6 +4191,7 @@ void addTabControl(Control control, int flags, int index, boolean update) {
int length = controls.length;

control.addListener(SWT.Resize, listener);
control.addListener(SWT.ZoomChanged, tabControlZoomListener);

//Grow all 4 arrays
Control[] newControls = new Control [length + 1];
Expand Down Expand Up @@ -4245,6 +4253,7 @@ void removeTabControl (Control control, boolean update) {

if (!control.isDisposed()) {
control.removeListener(SWT.Resize, listener);
control.removeListener(SWT.ZoomChanged, tabControlZoomListener);
control.setBackground (null);
control.setBackgroundImage (null);
if (control instanceof Composite) ((Composite) control).setBackgroundMode(SWT.INHERIT_NONE);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -575,7 +575,7 @@ int getOperationFromKeyState() {
if (currEvent != null) {
long modifiers = currEvent.modifierFlags();
boolean option = (modifiers & OS.NSAlternateKeyMask) == OS.NSAlternateKeyMask;
boolean control = (modifiers & OS.NSControlKeyMask) == OS.NSControlKeyMask;
boolean control = (modifiers & OS.NSEventModifierFlagControl) == OS.NSEventModifierFlagControl;
if (control && option) return DND.DROP_DEFAULT;
if (control) return DND.DROP_LINK;
if (option) return DND.DROP_COPY;
Expand Down
Loading