diff --git a/changelog.pre-mars b/changelog.pre-oxygen similarity index 74% rename from changelog.pre-mars rename to changelog.pre-oxygen index 7ec3566..cb4154a 100644 --- a/changelog.pre-mars +++ b/changelog.pre-oxygen @@ -1,3 +1,417 @@ +* Mon Apr 03 2017 Mat Booth - 1:4.6.3-3 +- Build missing remote ant support jar + +* Fri Mar 03 2017 Mat Booth - 1:4.6.3-2 +- Re-enable test-framework for platform tests +- Drop long-time broken efj script + +* Fri Feb 24 2017 Mat Booth - 1:4.6.3-1 +- Update to Neon.3 +- Upstreamed some changes from RHSCL + +* Wed Feb 08 2017 Roland Grunberg - 1:4.6.2-7 +- Hide the p2 Droplets from the Available Software Sites listing. +- Guard against null URI path in droplet check for Install Wizard Combo. +- Resolves: rhbz#1413778, rhbz#1420225 + +* Wed Jan 25 2017 Roland Grunberg - 1:4.6.2-6 +- Fix bug in p2 Droplet detection of feature groups. + +* Tue Jan 24 2017 Roland Grunberg - 1:4.6.2-5 +- Hide the p2 Droplets from cluttering Install Wizard Combo. +- Resolves: rhbz#1413778 + +* Mon Jan 16 2017 Mat Booth - 1:4.6.2-4 +- Fix last javax.annotation reference + +* Wed Jan 11 2017 Mat Booth - 1:4.6.2-3 +- Drop dep on javax.annotation APIs, these should instead be provided by the JRE + through the system bundle - rhbx#1392150 + +* Tue Jan 10 2017 Mat Booth - 1:4.6.2-2 +- Non-bootstrap build + +* Fri Jan 06 2017 Mat Booth - 1:4.6.2-1 +- Update to Neon.2 +- Bootstrap build due to ant update +- Port to new ant version +- Rebuild for ECF update +- Pull in usage plugin by default + +* Mon Dec 05 2016 Mat Booth - 1:4.6.1-7 +- Rebuild for new xz-java + +* Wed Nov 09 2016 Mat Booth - 1:4.6.1-6 +- Increase minimum memory for Eclipse/devstudio +- Enable nashorn extension for javascript tools/devstudio +- Resolves: rhbz#1380438 + +* Thu Oct 13 2016 Mat Booth - 1:4.6.1-5 +- Fix build with new Glassfish EL packages +- Patch to prefer x11 until wayland support improves + +* Thu Sep 29 2016 Alexander Kurtakov 1:4.6.1-4 +- Bump for rebuild. + +* Thu Sep 15 2016 Dennis Gilmore - 1:4.6.1-3 +- set the bootstap macro to 0 + +* Thu Sep 15 2016 Mat Booth - 1:4.6.1-2 +- Perform non-bootstrap build +- Rebuild for new eclipse-ecf + +* Wed Sep 14 2016 Mat Booth - 1:4.6.1-1 +- Update to Neon.1 release. +- Set qualifiers at source-modification-time instead of build-time, to + eliminate descrepancies between architectures, rhbz#1374938 +- Set bootstrap flag for new primary architecture. + +* Fri Sep 2 2016 Alexander Kurtakov 1:4.6.0-7 +- Rebuild for latest jsch. + +* Thu Aug 18 2016 Roland Grunberg - 1:4.6.0-6 +- Disable droplets being loaded by the reconciler. +- Fix possible NPE in droplet p2.runnable property check. + +* Fri Aug 05 2016 Roland Grunberg - 1:4.6.0-5 +- Improve 'p2.runnable' check in ExtensionLocationArtifactRepository. + +* Wed Aug 03 2016 Roland Grunberg - 1:4.6.0-4 +- Add missing droplets logic to the EngineActivator. +- Restore 'p2.runnable' property for droplets. + +* Wed Jul 13 2016 Roland Grunberg - 1:4.6.0-3 +- Update eclipse-pde-tp-support-droplets.patch to handle source bundles. +- Change PopupDialog from SWT.COLOR_INFO* to SWT.COLOR_LIST*. + +* Thu Jun 16 2016 Alexander Kurtakov 1:4.6.0-2 +- BR rhino and it's buildtime deps to unbreak build. + +* Tue Jun 14 2016 Mat Booth - 1:4.6.0-1 +- Update to Neon release + +* Tue May 10 2016 Mat Booth - 1:4.6.0-0.6.git201605092000 +- Update to latest I-build (M7) + +* Fri Apr 29 2016 Mat Booth - 1:4.6.0-0.5.git201604261105 +- Use webkit 2 by default, webkit 1 can still be used by setting SWT_WEBKIT2=0 + in the environment, rhbz#1303912 +- Ignore SWT.MOZILLA style when creating a browser widget and always use webkit + because we cannot ship xulrunner support, rhbz#1210898 +- Drop unneeded requires from tests package +- Add missing R on eclipse-filesystem to low-level sub-packages + +* Tue Apr 26 2016 Mat Booth - 1:4.6.0-0.4.git201604261105 +- Drop support for PDE building plug-ins in RPMs +- Update to latest Neon I-build +- Drop unnecessary SCL macros + +* Fri Apr 22 2016 Mat Booth - 1:4.6.0-0.3.git201604190800 +- Perform non-bootstrap build + +* Fri Apr 22 2016 Mat Booth - 1:4.6.0-0.2.git201604190800 +- PDE package cannot be noarch due to containing arch-specific source bundles + +* Tue Apr 19 2016 Mat Booth - 1:4.6.0-0.1.git201604190800 +- Update to Neon I-build (bootstrap build) +- Drop upstreamed patches +- Install all plugins with xmvn +- JDT and PDE are now able to be noarch packages + +* Sat Apr 16 2016 Mat Booth - 1:4.5.2-10 +- Rebuild for new ECF + +* Thu Apr 07 2016 Roland Grunberg - 1:4.5.2-9 +- Support reading BundleInfo from p2 Droplets enabled installations. + +* Tue Mar 29 2016 Mat Booth - 1:4.5.2-8 +- Backport patch for ebz#486069, NPE in SWT when running on Wayland +- Eliminate more test failures due to missing resources + +* Fri Mar 25 2016 Mat Booth - 1:4.5.2-7 +- Update e-b snapshot for updated ant dependency + +* Thu Mar 24 2016 Mat Booth - 1:4.5.2-6 +- Fix failure to run tests and backport patch for ebz#489953 in order to fix + some unit tests + +* Wed Mar 16 2016 Mat Booth - 1:4.5.2-5 +- Rebuild for ECF and disable the build of some bundles that are not shipped + +* Fri Mar 04 2016 Mat Booth - 1:4.5.2-4 +- Backport patch for ebz#488226 for incorrect content assist colors, + fixes rhbz#1253651 and rhbz#1196736 +- Fix broken link to mockito in tests + +* Wed Mar 02 2016 Mat Booth - 1:4.5.2-3 +- Fix mis-named Java 1.9 profile + +* Mon Feb 29 2016 Mat Booth - 1:4.5.2-2 +- Fix Lucene patch on F22 + +* Mon Feb 29 2016 Mat Booth - 1:4.5.2-1 +- Update to Mars.2 release +- Update eclipse-build snapshot + +* Mon Feb 29 2016 Michael Simacek - 1:4.5.1-17 +- Rebuild for lucene-5.5.0 + +* Mon Feb 29 2016 Mikolaj Izdebski - 1:4.5.1-16 +- Rebuild for httpcomponents-client 4.5.2 + +* Thu Feb 25 2016 Mat Booth - 1:4.5.1-15 +- Make BRs portable (thanks to Nicolas Lécureuil) + +* Wed Feb 24 2016 Roland Grunberg - 1:4.5.1-14 +- Gracefully handle broken symbolic links on initialization. + +* Wed Feb 17 2016 Mat Booth - 1:4.5.1-13 +- Preserve more test data that we cannot generate from source +- Eliminate unnecessary manual requires from swt package + +* Wed Feb 17 2016 Mat Booth - 1:4.5.1-12 +- Make test framework correctly delete symlinks so that test suites may complete + when e.g. pydev is installed rhbz#1290685 +- Backport patch to fix a webkit crash ebz#487712 + +* Mon Feb 08 2016 Mat Booth - 1:4.5.1-11 +- Fix java declaration view rhbz#1305107 + +* Wed Feb 03 2016 Mat Booth - 1:4.5.1-10 +- Fix symlinks for new lucene +- Use %%global instead of %%define and other macro improvements + +* Wed Feb 03 2016 Fedora Release Engineering - 1:4.5.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jan 21 2016 Alexander Kurtakov 1:4.5.1-8 +- Rebuild for Lucene 5.4.0. + +* Mon Jan 04 2016 Roland Grunberg - 1:4.5.1-7 +- [GTK3.16+] gtk_widget_override_background_color is deprecated. +- [GTK3] Eclipse IDE consumes CPU when idle +- [GTK] Empty repositories view links have white backgrounds +- Resolves: rhbz#1294697, rhbz#1269892 +- ebz#483096, ebz#484696, ebz#484729 + +* Sat Dec 05 2015 Mat Booth - 1:4.5.1-6 +- Fix issues with background colour in some dialogs +- ebz#478962, ebz#479998 +- Rebuild for new eclipse-ecf +- Preserve jars containing runtime stubs used in tests + +* Fri Nov 27 2015 Mat Booth - 1:4.5.1-5 +- Fix some visual glitches when on recent versions of GTK +- ebz#466314, ebz#481122, ebz#466500 + +* Tue Nov 03 2015 Roland Grunberg - 1:4.5.1-4 +- Fix "Workspace chooser won't launch" on Wayland. +- Resolves: rhbz#1277594 + +* Mon Nov 2 2015 Mikolaj Izdebski - 1:4.5.1-3 +- Rebuild for new eclipse-ecf + +* Tue Oct 13 2015 Mat Booth - 1:4.5.1-2 +- Add patch for editor scrolling problem, rhbz#1198217 + +* Wed Sep 30 2015 Mat Booth - 1:4.5.1-1 +- Update to Mars.1 +- Fix JDT javafx and annotation processor tests + +* Wed Sep 16 2015 Mikolaj Izdebski - 1:4.5.0-19 +- Rebuild for new eclipse-ecf + +* Wed Sep 9 2015 Mikolaj Izdebski - 1:4.5.0-18 +- Rebuild for new eclipse-ecf + +* Mon Sep 07 2015 Michael Simacek - 1:4.5.0-17 +- Rebuild for httpcomponents-core-4.4.2 + +* Tue Sep 01 2015 Roland Grunberg - 1:4.5.0-16 +- Modify copy-platform script to support p2 Droplets. + +* Thu Aug 27 2015 Roland Grunberg - 1:4.5.0-15 +- Add support for p2 Droplets. + +* Wed Aug 26 2015 Mat Booth - 1:4.5.0-14 +- Rebuild for new ECF + +* Thu Aug 20 2015 Mat Booth - 1:4.5.0-13 +- Add patch for rhbz#1255150 +- Always use UTC timestamps to prevent rpmdiff failures +- Move eclipse provides away from PDE rhbz#1253898 + +* Tue Aug 11 2015 Mat Booth - 1:4.5.0-12 +- Rebuild for new ECF + +* Thu Aug 6 2015 Alexander Kurtakov 1:4.5.0-11 +- Update to newer e-b snapshot fixing appdata validation. + +* Thu Jul 30 2015 Mat Booth - 1:4.5.0-10 +- Preserve JDT core test data + +* Wed Jul 22 2015 Roland Grunberg - 1:4.5.0-9 +- Fix JDT Feature path for TargetDefinitionPersistenceTests (PDE) +- SimpleConfiguratorUtils should handle base == null for tests +- Locate the compressed platform archive for p2 AbstractReconcilerTest + +* Mon Jul 20 2015 Mat Booth - 1:4.5.0-8 +- Disable tests for Eclipse 2.x style plug-in support that we don't ship + +* Fri Jul 17 2015 Alexander Kurtakov 1:4.5.0-7 +- Less PermSize settings - simply ignored in Java 8. + +* Thu Jul 16 2015 Alexander Kurtakov 1:4.5.0-6 +- Eclipse.ini has no place in swt subpackage. + +* Wed Jul 15 2015 Sopot Cela 1:4.5.0-5 +- Replaced javax.annotation provider from geronimo to glassfish + +* Tue Jul 7 2015 Mikolaj Izdebski - 1:4.5.0-4 +- Add Maven metadata for SWT + +* Thu Jul 02 2015 Sopot Cela 1:4.5.0-3 +- Patch dark theme patch to work on rawhide + +* Wed Jul 01 2015 Mat Booth - 1:4.5.0-2 +- Organise BR/Rs and drop ancient provides/obsoletes on rcp package + +* Fri Jun 26 2015 Alexander Kurtakov 1:4.5.0-1 +- Update to tagged 4.5 release. +- Switch to new e-b snapshot that properly symlinks all new deps. + +* Thu Jun 25 2015 Alexander Kurtakov 1:4.5.0-0.33.git201506012000 +- Rebuild to include all deps of Lucene. + +* Wed Jun 24 2015 Alexander Kurtakov 1:4.5.0-0.32.git201506012000 +- Non-boostrap build. + +* Tue Jun 23 2015 Alexander Kurtakov 1:4.5.0-0.31.git201506012000 +- Rebuild against Lucene 5.x in bootstrap mode. + +* Fri Jun 19 2015 Roland Grunberg - 1:4.5.0-0.30.git201506012000 +- Fix Eclipse test framework. + +* Fri Jun 19 2015 Alexander Kurtakov 1:4.5.0-0.29.git201506012000 +- Rebuild after the F23 mass rebuild to get metadata correct. + +* Mon Jun 15 2015 Mat Booth - 1:4.5.0-0.28.git201506012000 +- Non-bootstrap build + +* Thu Jun 11 2015 Mat Booth - 1:4.5.0-0.27.git201506012000 +- Include p2 directives for non-upstream arches + +* Wed Jun 10 2015 Alexander Kurtakov 1:4.5.0-0.26.git201506012000 +- Add patch for stricter feature packaging. +- Avoid incorrect servlet-api when building on F22 +- Add recommends on e4-importer +- Bootstrap build to get the ball rolling again. + +* Thu Jun 04 2015 Michael Simacek - 1:4.5.0-0.25.git201506012000 +- Rebuild after ecf rebuild + +* Tue Jun 02 2015 Mat Booth - 1:4.5.0-0.24.git201506012000 +- Fix pattern matching for x86/x86_64 arches + +* Tue Jun 02 2015 Mat Booth - 1:4.5.0-0.23.git201506012000 +- Update to latest I-build +- Don't build contributor tools with external deps during bootstrap builds +- Build only for the current architecture +- Rebuild for EMF update + +* Sun May 31 2015 Alexander Kurtakov 1:4.5.0-0.22.git201505272010 +- Rebuild after emf change. + +* Fri May 29 2015 Alexander Kurtakov 1:4.5.0-0.21.git201505272010 +- Fix building without tomcat-servlet again. + +* Fri May 29 2015 Alexander Kurtakov 1:4.5.0-0.20.git201505272010 +- BR gcc not gcc-c++ as there is no cpp sources built. + +* Thu May 28 2015 Alexander Kurtakov 1:4.5.0-0.19.git201505272010 +- Update to latest I-build +- Require latest egit for the releng tools. + +* Tue May 19 2015 Alexander Kurtakov 1:4.5.0-0.18.git201505172000 +- Update to latest I-build. +- Drop unneeded env variable export. + +* Wed May 13 2015 Mat Booth - 1:4.5.0-0.17.git201505122100 +- Rebuild for ECF 3.10.0 +- Update to latest I-build + +* Tue May 05 2015 Mat Booth - 1:4.5.0-0.16.git201505042000 +- Update to latest I-build to fix bundle dep cycle in PDE builds +- Add test framework to contributor tools subpackage +- Update eclipse-build snapshot to symlink and require xz-java + +* Wed Apr 29 2015 Mat Booth - 1:4.5.0-0.15.git201504280100 +- Contibutor-tools subpackage should be archful due to native methods + +* Wed Apr 22 2015 Mat Booth - 1:4.5.0-0.14.git201504280100 +- Rebuilt to eliminate optional dependencies of jxpath +- Update to latest I-build + +* Wed Apr 08 2015 Mat Booth - 1:4.5.0-0.13.git201504081100 +- Update to latest I-build +- Update eclipse-build snapshot +- Simplify installation of PDE build scripts +- Drop upstreamed hamcrest patch + +* Wed Apr 01 2015 Mat Booth - 1:4.5.0-0.12.git201503310800 +- Organise patches + +* Wed Apr 01 2015 Mat Booth - 1:4.5.0-0.11.git201503310800 +- Begin using mvn_install for installing dropins +- This allows us to make sub-packages noarch + +* Tue Mar 31 2015 Mat Booth - 1:4.5.0-0.10.git201503310800 +- Update for latest I-build +- New sub-package for contributor-tools +- Unbundle osgi.annotations compile time dep +- Rebuild for new eclipse-ecf/httpcomponents +- Revert "Use better AppData screenshots" this is fixed upstream +- Update eclipse-build snapshot + +* Tue Mar 31 2015 Mikolaj Izdebski - 1:4.5.0-0.9.git201503172000 +- Rebuild for eclipse-ecf update + +* Mon Mar 30 2015 Richard Hughes - 1:4.5.0-0.8.git201503172000 +- Use better AppData screenshots + +* Wed Mar 25 2015 Michael Simacek - 1:4.5.0-0.7.git201503172000 +- Rebuild for jetty update + +* Thu Mar 19 2015 Mikolaj Izdebski - 1:4.5.0-0.6.git201503172000 +- Rebuild for eclipse-ecf update + +* Tue Mar 17 2015 Mat Booth - 1:4.5.0-0.5.git201503172000 +- Update to latest I-build + +* Wed Mar 04 2015 Mat Booth - 1:4.5.0-0.4.git201503030800 +- Update to latest I-build +- JDT requires only hamcrest-core +- Rebuild for SR2 release of EMF + +* Wed Feb 25 2015 Mat Booth - 1:4.5.0-0.3.git201502240800 +- Update to latest I-build +- Require jetty 9.2.9 +- Fix arm-build + +* Wed Feb 18 2015 Mat Booth - 1:4.5.0-0.2.git201502170800 +- Update to latest I-build +- Unbundle third party libs from tests subpackage rhbz#1150185 +- Rebuild for new eclipse-ecf/httpcomponents + +* Fri Jan 30 2015 Mat Booth - 1:4.5.0-0.1.git201502100800 +- Update to latest 4.5.0 I-build +- Drop upstreamed jetty9/servlet and workspace picker patches +- Drop upstreamed patches for bug 903537 and bug 444143 +- Update eclipse-build snapshot for ant dependency +- Ship missing features used by some other projects' target platform +- Build with mvn_build macro +- Some spec file clean-up + * Fri Jan 23 2015 Michael Simacek - 1:4.4.1-17 - Rebuild against new jetty diff --git a/eclipse-adjust-droplets.patch b/eclipse-adjust-droplets.patch index f7044e5..0f44398 100644 --- a/eclipse-adjust-droplets.patch +++ b/eclipse-adjust-droplets.patch @@ -50,21 +50,3 @@ index 12e4d89..77945ef 100644 // new magic - multiple info files, f.e. // egit.info (git feature) // cdt.link (properties file containing link=path) to other info file -diff --git rt.equinox.p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SurrogateProfileHandler.java rt.equinox.p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SurrogateProfileHandler.java -index 3d7e313..debbfb8 100644 ---- rt.equinox.p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SurrogateProfileHandler.java -+++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SurrogateProfileHandler.java -@@ -236,10 +236,11 @@ - || "feature".equals(cap.getName())) { //$NON-NLS-1$ - featureOrBundle = true; - } -- } else if (Boolean.TRUE.equals(Boolean.valueOf(unit.getProperties().get("org.eclipse.equinox.p2.type.group")))) { //$NON-NLS-1$ -- featureOrBundle = true; - } - } -+ if (Boolean.TRUE.equals(Boolean.valueOf(unit.getProperties().get("org.eclipse.equinox.p2.type.group")))) { //$NON-NLS-1$ -+ featureOrBundle = true; -+ } - if (featureOrBundle && !added.contains(unit)) { - added.add(unit); - sharedProfile.addInstallableUnit(unit); diff --git a/eclipse-bug-431423.patch b/eclipse-bug-431423.patch deleted file mode 100644 index 699d081..0000000 --- a/eclipse-bug-431423.patch +++ /dev/null @@ -1,211 +0,0 @@ -From 272bf0d8ebce8f12e9bb0de2c389d3a18d319afb Mon Sep 17 00:00:00 2001 -From: Eric Williams -Date: Wed, 28 Feb 2018 16:10:48 -0500 -Subject: Bug 431423: [GTK3] Context menu should appear by pointer when invoked - via mouse - -Some context menus are positioned incorrectly when the size (number of -items) of the menu changes between clicks. - -The cause of this bug is due to the way SWT populates its menus: often -it is done asynchronously outside of SWT based on an SWT.Show listener. -The result is that the menu items are added/removed just before showing, -and GTK sometimes doesn't have enough time to properly adjust the size -of the menu internally. Specifically, the GdkWindow of the toplevel -widget (GtkWindow) for the menu lags in height. Since GTK thinks the -menu is taller/shorter than it is, the menu is positioned at the wrong -y-coordinate. - -The fix is to check if the number of menu items has changed from one -pop-up to the next. If so, calculate the preferred height of the menu -and resize the GdkWindow of the menu's toplevel GtkWindow to reflect -this change. This way the internal sizing calculations in GTK will be -accurate and the menu will be positioned correctly. - -The bug is fixed on GTK3.22 with X11 only, as this uses the new GTK3.22 -GtkMenu API. Older GTK3 versions use the outdated GtkMenu API and fixing -these cases would not be worth the effort. Wayland is not affected by -this bug. - -Reliable steps to reproduce the issue can be found here: -https://bugs.eclipse.org/bugs/show_bug.cgi?id=431423#c19 - -Tested JFace/SWT menu snippets, AllNonBrowser JUnit tests, and -ControlExample on GTK3.22 with X11. - -Change-Id: I392983438cc32b9455c53cc464626294f3ec72f9 -Signed-off-by: Eric Williams --- - .../Eclipse SWT PI/gtk/library/os.c | 25 ++++++++++++ - .../Eclipse SWT PI/gtk/library/os_stats.c | 1 + - .../Eclipse SWT PI/gtk/library/os_stats.h | 1 + - .../gtk/org/eclipse/swt/internal/gtk/OS.java | 12 ++++++ - .../gtk/org/eclipse/swt/widgets/Menu.java | 46 ++++++++++++++++++++++ - 5 files changed, 85 insertions(+) - -diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c -index 428d448..7cddab1 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c -+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c -@@ -16214,6 +16214,31 @@ JNIEXPORT jintLong JNICALL GTK_NATIVE(_1gtk_1widget_1get_1parent_1window) - } - #endif - -+#ifndef NO__1gtk_1widget_1get_1preferred_1height -+JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1get_1preferred_1height) -+ (JNIEnv *env, jclass that, jintLong arg0, jintArray arg1, jintArray arg2) -+{ -+ jint *lparg1=NULL; -+ jint *lparg2=NULL; -+ OS_NATIVE_ENTER(env, that, _1gtk_1widget_1get_1preferred_1height_FUNC); -+ if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail; -+ if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail; -+/* -+ gtk_widget_get_preferred_height(arg0, lparg1, lparg2); -+*/ -+ { -+ OS_LOAD_FUNCTION(fp, gtk_widget_get_preferred_height) -+ if (fp) { -+ ((void (CALLING_CONVENTION*)(jintLong, jint *, jint *))fp)(arg0, lparg1, lparg2); -+ } -+ } -+fail: -+ if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0); -+ if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0); -+ OS_NATIVE_EXIT(env, that, _1gtk_1widget_1get_1preferred_1height_FUNC); -+} -+#endif -+ - #ifndef NO__1gtk_1widget_1get_1preferred_1height_1for_1width - JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1get_1preferred_1height_1for_1width) - (JNIEnv *env, jclass that, jintLong arg0, jint arg1, jintArray arg2, jintArray arg3) -diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h -index ddb326e..43acdb3 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h -+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h -@@ -296,6 +296,7 @@ - #define gtk_widget_override_color_LIB LIB_GTK - #define gtk_widget_override_background_color_LIB LIB_GTK - #define gtk_widget_override_font_LIB LIB_GTK -+#define gtk_widget_get_preferred_height_LIB LIB_GTK - #define gtk_widget_get_preferred_height_for_width_LIB LIB_GTK - #define gtk_widget_get_preferred_width_for_height_LIB LIB_GTK - #define gtk_style_context_get_font_LIB LIB_GTK -diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c -index ddb326e..43acdb3 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c -+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c -@@ -1321,6 +1321,7 @@ char * GTK_nativeFunctionNames[] = { - "_1gtk_1widget_1get_1pango_1context", - "_1gtk_1widget_1get_1parent", - "_1gtk_1widget_1get_1parent_1window", -+ "_1gtk_1widget_1get_1preferred_1height", - "_1gtk_1widget_1get_1preferred_1height_1for_1width", - "_1gtk_1widget_1get_1preferred_1size", - "_1gtk_1widget_1get_1preferred_1width_1for_1height", -diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h -index f8fd88f..2038eea 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h -+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h -@@ -1331,6 +1331,7 @@ typedef enum { - _1gtk_1widget_1get_1pango_1context_FUNC, - _1gtk_1widget_1get_1parent_FUNC, - _1gtk_1widget_1get_1parent_1window_FUNC, -+ _1gtk_1widget_1get_1preferred_1height_FUNC, - _1gtk_1widget_1get_1preferred_1height_1for_1width_FUNC, - _1gtk_1widget_1get_1preferred_1size_FUNC, - _1gtk_1widget_1get_1preferred_1width_1for_1height_FUNC, -diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java -index a343cfe..a324248 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java -@@ -6388,6 +6388,18 @@ public class GTK extends OS { - /** - * @method flags=dynamic - */ -+public static final native void _gtk_widget_get_preferred_height(long /*int*/ widget, int[] minimum_size, int[] natural_size); -+public static final void gtk_widget_get_preferred_height(long /*int*/ widget, int[] minimum_size, int[] natural_size) { -+ lock.lock(); -+ try { -+ _gtk_widget_get_preferred_height(widget, minimum_size, natural_size); -+ } finally { -+ lock.unlock(); -+ } -+} -+/** -+ * @method flags=dynamic -+ */ - public static final native void _gtk_widget_get_preferred_width_for_height(long /*int*/ widget, int height, int[] minimum_size, int[] natural_size); - public static final void gtk_widget_get_preferred_width_for_height(long /*int*/ widget, int height, int[] minimum_size, int[] natural_size) { - lock.lock(); -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java -index d6ddbbc..6620fbc 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java -@@ -45,6 +45,7 @@ public class Menu extends Widget { - Decorations parent; - long /*int*/ imItem, imSeparator, imHandle; - ImageList imageList; -+ int poppedUpCount; - - /** - * Constructs a new instance of this class given its parent, -@@ -227,7 +228,9 @@ - * will fail. The fix is to ensure that the timestamp of the last - * event processed is used. - */ -+ verifyMenuPosition(getItemCount()); - OS.gtk_menu_popup (handle, 0, 0, address, data, 0, display.getLastEventTime ()); -+ poppedUpCount = getItemCount(); - } else { - sendEvent (SWT.Hide); - } -@@ -1069,6 +1072,49 @@ void setOrientation (boolean create) { - } - - /** -+ * Feature in GTK3 on X11: context menus in SWT are populated -+ * dynamically, sometimes asynchronously outside of SWT -+ * (i.e. in Platform UI). This means that items are added and -+ * removed just before the menu is shown. This method of -+ * changing the menu content can sometimes cause sizing issues -+ * internally in GTK, specifically with the height of the -+ * toplevel GdkWindow.

-+ * -+ * The fix is to cache the number of items popped up previously, -+ * and if the number of items in the current menu (to be popped up) -+ * is different, then:

    -+ *
  • get the preferred height of the menu
  • -+ *
  • set the toplevel GdkWindow to that height
-+ * -+ * @param itemCount the current number of items in the menu, just -+ * before it's about to be shown/popped-up -+ */ -+void verifyMenuPosition (int itemCount) { -+ if (OS.GTK3 && OS.isX11()) { -+ if (itemCount != poppedUpCount && poppedUpCount != 0) { -+ int [] naturalHeight = new int [1]; -+ /* -+ * We need to "show" the menu before fetching the preferred height. -+ * Note, this does not actually pop-up the menu. -+ */ -+ OS.gtk_widget_show(handle); -+ /* -+ * Menus are height-for-width only: use gtk_widget_get_preferred_height() -+ * instead of gtk_widget_get_preferred_size(). -+ */ -+ OS.gtk_widget_get_preferred_height(handle, null, naturalHeight); -+ if (naturalHeight[0] > 0) { -+ long /*int*/ topLevelWidget = OS.gtk_widget_get_toplevel(handle); -+ long /*int*/ topLevelWindow = OS.gtk_widget_get_window(topLevelWidget); -+ int width = OS.gdk_window_get_width(topLevelWindow); -+ OS.gdk_window_resize(topLevelWindow, width, naturalHeight[0]); -+ } -+ } -+ } -+ return; -+} -+ -+/** - * Marks the receiver as visible if the argument is true, - * and marks it invisible otherwise. - *

diff --git a/eclipse-bug-531844.patch b/eclipse-bug-531844.patch deleted file mode 100644 index 3f7c9b2..0000000 --- a/eclipse-bug-531844.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- eclipse.platform.resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/PreferenceInitializer.java.orig 2018-03-20 11:12:44.290938564 +0000 -+++ eclipse.platform.resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/PreferenceInitializer.java 2018-03-20 11:13:02.098871393 +0000 -@@ -25,7 +25,7 @@ - - // DEFAULTS - public static final boolean PREF_AUTO_REFRESH_DEFAULT = false; -- public static final boolean PREF_LIGHTWEIGHT_AUTO_REFRESH_DEFAULT = false; -+ public static final boolean PREF_LIGHTWEIGHT_AUTO_REFRESH_DEFAULT = true; - public static final boolean PREF_DISABLE_LINKING_DEFAULT = false; - public static final String PREF_ENCODING_DEFAULT = ""; //$NON-NLS-1$ - public static final boolean PREF_AUTO_BUILDING_DEFAULT = true; ---- eclipse.platform/platform/org.eclipse.sdk/plugin_customization.ini.orig 2018-03-20 11:11:59.872097288 +0000 -+++ eclipse.platform/platform/org.eclipse.sdk/plugin_customization.ini 2018-03-20 11:12:05.093080476 +0000 -@@ -25,9 +25,6 @@ - # use the window set by default - org.eclipse.ui/USE_WINDOW_WORKING_SET_BY_DEFAULT=true - --# lightweight auto-refresh on access by default --org.eclipse.core.resources/refresh.lightweight.enabled=true -- - # enable line number ruler in all textual editors by default - org.eclipse.ui.editors/lineNumberRuler=true - -@@ -43,4 +40,4 @@ - org.eclipse.ui.intro.universal/INTRO_DATA = product:introData.xml - - # Order help books in table of contents --org.eclipse.help/HELP_DATA = helpData.xml -\ No newline at end of file -+org.eclipse.help/HELP_DATA = helpData.xml diff --git a/eclipse-bug-531928-1.patch b/eclipse-bug-531928-1.patch deleted file mode 100644 index 1327d8d..0000000 --- a/eclipse-bug-531928-1.patch +++ /dev/null @@ -1,263 +0,0 @@ -From 8a745bffa40230e73fb229950d6d0520b474c8f3 Mon Sep 17 00:00:00 2001 -From: Eric Williams -Date: Tue, 13 Feb 2018 14:25:46 -0500 -Subject: Bug 511133: [GTK3.10+] Some critical icons missing on Ubuntu 16.04 - -This patch fixes Table/Tree drawing in EGit. It patch reverts the -changes introduced for bug 438505, which causes this regression. This -patch also contains fixes to prevent bug 438505 from being -re-introduced. - -EGit drawing was broken because TableItem.getBounds() was taking the -position of the header into account. This is because we were drawing on -the fixedHandle instead of the GtkTreeView. The positioning of the Table -header broke simple drawing cases like Snippet051TableCenteredImage -(JFace snippet). Reverting the fix back to drawing on the handle has -fixed that issue. - -Unfortunately this means bug 438505 is re-introduced. To fix that issue -I have tweaked the re-parenting logic found in -Table/Tree.setParentWindow(). GTK3.10+ onward only draws on toplevel or -native GdkWindows. This means the Text widgets used for Table/Tree -editing continue to get events, but they are not drawn. The solution to -this problem is call gdk_window_raise/lower on these Text widgets when -setVisible() is called. This raises and lowers the Text's GdkWindow when -the widget's visibility is changed, ensuring that it actually is drawn -when visible, and not when hidden. This isn't a huge change as the -GdkWindow re-parenting already existed in Table/Tree.setParentWindow(), -this patch just builds on that. - -I have tested against the following cases/snippets: -Snippet88 -Snippet019 (JFace snippets) -Snippet025 (JFace snippets) -Snippet026 (JFace snippets) -Snippet051 (JFace snippets) -use case from bug 438505 -use case from bug 436324 -use case from bug 460581 -use case from bug 458630 - -Additionally, using a child Eclipse I have verified that the missing -EGit icons have returned. No AllNonBrowser JUnit tests fail. - -Change-Id: I02b3fb30037a8f0f74de79144f8e563f5284d571 -Signed-off-by: Eric Williams --- - .../gtk/org/eclipse/swt/widgets/Control.java | 19 +++++++++++++-- - .../gtk/org/eclipse/swt/widgets/Table.java | 28 ++++++++++++---------- - .../gtk/org/eclipse/swt/widgets/TableItem.java | 3 --- - .../gtk/org/eclipse/swt/widgets/Tree.java | 28 ++++++++++++---------- - .../gtk/org/eclipse/swt/widgets/TreeItem.java | 3 --- - 5 files changed, 49 insertions(+), 32 deletions(-) - -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java -index 5bb916a..e29d144 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java -@@ -64,6 +64,7 @@ public abstract class Control extends Widget implements Drawable { - Accessible accessible; - Control labelRelation; - String cssBackground, cssForeground = " "; -+ boolean reparentOnVisibility; - - LinkedList dragDetectionQueue; - -@@ -5286,7 +5287,7 @@ void setParentBackground () { - if (fixedHandle != 0) setBackgroundColor (fixedHandle, null); - } - --void setParentWindow (long /*int*/ widget) { -+void setParentWindow (Control child) { - } - - boolean setRadioSelection (boolean value) { -@@ -5491,6 +5492,13 @@ public void setVisible (boolean visible) { - state &= ~HIDDEN; - if ((state & (ZERO_WIDTH | ZERO_HEIGHT)) == 0) { - if (enableWindow != 0) OS.gdk_window_show_unraised (enableWindow); -+ /* -+ * Raise this widget's GdkWindow if the reparentOnVisibility -+ * flag has been set and visible is true. See bug 511133. -+ */ -+ if (reparentOnVisibility && OS.GTK3) { -+ OS.gdk_window_raise(gtk_widget_get_window(topHandle)); -+ } - OS.gtk_widget_show (topHandle); - } - } else { -@@ -5527,6 +5535,13 @@ public void setVisible (boolean visible) { - OS.gtk_widget_hide (topHandle); - if (isDisposed ()) return; - if (enableWindow != 0) OS.gdk_window_hide (enableWindow); -+ /* -+ * Lower this widget's GdkWindow if the reparentOnVisibility -+ * flag has been set and visible is false. See bug 511133. -+ */ -+ if (reparentOnVisibility && OS.GTK3) { -+ OS.gdk_window_lower(gtk_widget_get_window(topHandle)); -+ } - sendEvent (SWT.Hide); - } - } -@@ -5682,7 +5697,7 @@ void showWidget () { - state |= ZERO_WIDTH | ZERO_HEIGHT; - long /*int*/ topHandle = topHandle (); - long /*int*/ parentHandle = parent.parentingHandle (); -- parent.setParentWindow (topHandle); -+ parent.setParentWindow (this); - OS.gtk_container_add (parentHandle, topHandle); - if (handle != 0 && handle != topHandle) OS.gtk_widget_show (handle); - if ((state & (ZERO_WIDTH | ZERO_HEIGHT)) == 0) { -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java -index e3d1441..b664f29 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java -@@ -1205,9 +1205,6 @@ Rectangle getClientAreaInPixels () { - int width = (state & ZERO_WIDTH) != 0 ? 0 : allocation.width; - int height = (state & ZERO_HEIGHT) != 0 ? 0 : allocation.height; - Rectangle rect = new Rectangle (fixedX [0] - binX [0], fixedY [0] - binY [0], width, height); -- if (getHeaderVisible() && OS.GTK_VERSION > OS.VERSION(3, 9, 0)) { -- rect.y += getHeaderHeightInPixels(); -- } - return rect; - } - -@@ -1601,9 +1598,6 @@ TableItem getItemInPixels (Point point) { - long /*int*/ [] path = new long /*int*/ [1]; - OS.gtk_widget_realize (handle); - int y = point.y; -- if (getHeaderVisible() && OS.GTK_VERSION > OS.VERSION(3, 9, 0)) { -- y -= getHeaderHeightInPixels(); -- } - if (!OS.gtk_tree_view_get_path_at_pos (handle, point.x, y, path, null, null, null)) return null; - if (path [0] == 0) return null; - long /*int*/ indices = OS.gtk_tree_path_get_indices (path [0]); -@@ -2453,10 +2447,6 @@ boolean mnemonicMatch (char key) { - @Override - long /*int*/ paintWindow () { - OS.gtk_widget_realize (handle); -- if (fixedHandle != 0 && OS.GTK_VERSION > OS.VERSION(3, 9, 0)) { -- OS.gtk_widget_realize (fixedHandle); -- return OS.gtk_widget_get_window(fixedHandle); -- } - return OS.gtk_tree_view_get_bin_window (handle); - } - -@@ -3659,9 +3649,23 @@ void setParentBackground () { - } - - @Override --void setParentWindow (long /*int*/ widget) { -+void setParentWindow (Control child) { - long /*int*/ window = eventWindow (); -- OS.gtk_widget_set_parent_window (widget, window); -+ OS.gtk_widget_set_parent_window (child.topHandle(), window); -+ /* -+ * Feature in GTK3: all children of Table have their GdkWindows -+ * re-parented so they are siblings of the parent Table -+ * (i.e. on the same level in the z-order). -+ * -+ * To fix table editing in GTK3: raise/lower the -+ * GdkWindow of these child widgets to make them visible when -+ * setVisible() is called on them. This ensures they are properly -+ * drawn when setVisible(true) is called, and properly hidden -+ * when setVisible(false) is called. See bug 511133. -+ */ -+ if (child != null && OS.GTK3) { -+ child.reparentOnVisibility = true; -+ } - } - - @Override -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java -index 6efb227..f904159 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java -@@ -403,9 +403,6 @@ Rectangle getBoundsInPixels (int index) { - } - int width = OS.gtk_tree_view_column_get_visible (column) ? rect.width + 1 : 0; - Rectangle r = new Rectangle (rect.x, rect.y, width, rect.height + 1); -- if (parent.getHeaderVisible() && OS.GTK_VERSION > OS.VERSION(3, 9, 0)) { -- r.y += parent.getHeaderHeightInPixels(); -- } - return r; - } - -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java -index 58e0382..2428361 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java -@@ -1203,9 +1203,6 @@ Rectangle getClientAreaInPixels () { - int width = (state & ZERO_WIDTH) != 0 ? 0 : allocation.width; - int height = (state & ZERO_HEIGHT) != 0 ? 0 : allocation.height; - Rectangle rect = new Rectangle (fixedX [0] - binX [0], fixedY [0] - binY [0], width, height); -- if (getHeaderVisible() && OS.GTK_VERSION > OS.VERSION(3, 9, 0)) { -- rect.y += getHeaderHeightInPixels(); -- } - return rect; - } - -@@ -1610,9 +1607,6 @@ TreeItem getItemInPixels (Point point) { - OS.gtk_widget_realize (handle); - int x = point.x; - int y = point.y; -- if (getHeaderVisible() && OS.GTK_VERSION > OS.VERSION(3, 9, 0)) { -- y -= getHeaderHeightInPixels(); -- } - if ((style & SWT.MIRRORED) != 0) x = getClientWidth () - x; - long /*int*/ [] columnHandle = new long /*int*/ [1]; - if (!OS.gtk_tree_view_get_path_at_pos (handle, x, y, path, columnHandle, null, null)) return null; -@@ -2596,10 +2590,6 @@ boolean mnemonicMatch (char key) { - @Override - long /*int*/ paintWindow () { - OS.gtk_widget_realize (handle); -- if (fixedHandle != 0 && OS.GTK_VERSION > OS.VERSION(3, 9, 0)) { -- OS.gtk_widget_realize (fixedHandle); -- return OS.gtk_widget_get_window(fixedHandle); -- } - return OS.gtk_tree_view_get_bin_window (handle); - } - -@@ -3664,9 +3654,23 @@ void setParentBackground () { - } - - @Override --void setParentWindow (long /*int*/ widget) { -+void setParentWindow (Control child) { - long /*int*/ window = eventWindow (); -- OS.gtk_widget_set_parent_window (widget, window); -+ OS.gtk_widget_set_parent_window (child.topHandle(), window); -+ /* -+ * Feature in GTK3: all children of Tree have their GdkWindows -+ * re-parented so they are siblings of the parent Tree -+ * (i.e. on the same level in the z-order). -+ * -+ * To fix table editing in GTK3: raise/lower the -+ * GdkWindow of these child widgets to make them visible when -+ * setVisible() is called on them. This ensures they are properly -+ * drawn when setVisible(true) is called, and properly hidden -+ * when setVisible(false) is called. See bug 511133. -+ */ -+ if (child != null && OS.GTK3) { -+ child.reparentOnVisibility = true; -+ } - } - - void setScrollWidth (long /*int*/ column, TreeItem item) { -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java -index 25bb96b..802a1f9 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java -@@ -453,9 +453,6 @@ Rectangle getBoundsInPixels (int index) { - } - int width = OS.gtk_tree_view_column_get_visible (column) ? rect.width + 1 : 0; - Rectangle r = new Rectangle (rect.x, rect.y, width, rect.height + 1); -- if (parent.getHeaderVisible() && OS.GTK_VERSION > OS.VERSION(3, 9, 0)) { -- r.y += parent.getHeaderHeightInPixels(); -- } - return r; - } - --- -cgit v1.1 - diff --git a/eclipse-bug-531928-2.patch b/eclipse-bug-531928-2.patch deleted file mode 100644 index 85eb44a..0000000 --- a/eclipse-bug-531928-2.patch +++ /dev/null @@ -1,253 +0,0 @@ -From 1a3294ba5966b01cc2953d4ad12ed02eb971b97f Mon Sep 17 00:00:00 2001 -From: Leo Ufimtsev -Date: Wed, 14 Feb 2018 10:49:01 -0500 -Subject: Bug 510803 [GTK3] Regression in table editing capabilities in - tabfolder. - -Breakage occurred because tabItem reparented an item that had a -non-standard gDk parent window. - -Solution: fix gdk window parent for such special controls. -(I.e ControlEditors in tables). - -Verification: -- Open child eclipse, change method signature. - Now table cells can be edited via click. -- Open attached snippet, with patch cells can be edited properly. -- AllTests Gtk3.22 -- X11/Wayland. - -Patchset 3: -- Minor rename of methods to clarify that it's a *gdk* window, - -Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=5108033 -Change-Id: I8dcaac950eb0847dd97016b2140c607012550d2f -Signed-off-by: Leo Ufimtsev ---- - .../Eclipse SWT PI/gtk/library/os.c | 8 ++ - .../gtk/org/eclipse/swt/internal/gtk/OS.java | 4 + - .../gtk/org/eclipse/swt/widgets/Composite.java | 10 ++ - .../gtk/org/eclipse/swt/widgets/Control.java | 51 ++++++++- - .../gtk/org/eclipse/swt/widgets/ExpandItem.java | 2 +- - .../gtk/org/eclipse/swt/widgets/TabItem.java | 4 +- - .../gtk/org/eclipse/swt/widgets/Table.java | 6 +- - .../gtk/org/eclipse/swt/widgets/Tree.java | 6 +- - .../gtk/org/eclipse/swt/widgets/Widget.java | 15 --- - .../Bug510803_TabFolder_Table_inPlaceEditing.java | 108 ------------------ - .../Bug510803_TabFolder_TreeEditor_Regression.java | 124 +++++++++++++++++++++ - 11 files changed, 203 insertions(+), 135 deletions(-) - delete mode 100644 tests/org.eclipse.swt.tests.gtk/ManualTests/org/eclipse/swt/tests/gtk/snippets/Bug510803_TabFolder_Table_inPlaceEditing.java - create mode 100644 tests/org.eclipse.swt.tests.gtk/ManualTests/org/eclipse/swt/tests/gtk/snippets/Bug510803_TabFolder_TreeEditor_Regression.java - -diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c -index bf5de70..428d448 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c -+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c -@@ -16764,7 +16764,15 @@ JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1reparent) - (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1) - { - OS_NATIVE_ENTER(env, that, _1gtk_1widget_1reparent_FUNC); -+/* - gtk_widget_reparent((GtkWidget *)arg0, (GtkWidget *)arg1); -+*/ -+ { -+ OS_LOAD_FUNCTION(fp, gtk_widget_reparent) -+ if (fp) { -+ ((void (CALLING_CONVENTION*)(GtkWidget *, GtkWidget *))fp)((GtkWidget *)arg0, (GtkWidget *)arg1); -+ } -+ } - OS_NATIVE_EXIT(env, that, _1gtk_1widget_1reparent_FUNC); - } - #endif -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java -index 2619114..57bbf52 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java -@@ -506,6 +506,16 @@ void fixChildren (Shell newShell, Shell oldShell, Decorations newDecorations, De - } - - @Override -+void fixParentGdkWindow() { -+ assert OS.GTK3; -+ // Changes to this method should be verified via -+ // org.eclipse.swt.tests.gtk/*/Bug510803_TabFolder_TreeEditor_Regression.java (part two) -+ for (Control child : _getChildren()) { -+ child.fixParentGdkWindow(); -+ } -+} -+ -+@Override - void fixModal(long /*int*/ group, long /*int*/ modalGroup) { - Control[] controls = _getChildren (); - for (int i = 0; i < controls.length; i++) { -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java -index e29d144..b0768d5 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java -@@ -2656,6 +2656,51 @@ void fixChildren (Shell newShell, Shell oldShell, Decorations newDecorations, De - oldDecorations.fixDecorations (newDecorations, this, menus); - } - -+/** -+ * In some situations, a control has a non-standard parent GdkWindow (Note gDk, not gTk). -+ * E.g, an TreeEditor who's parent is a Tree should have the Tree Viewer's inner bin as parent window. -+ * -+ * Note, composites should treat this differently and take child controls into consideration. -+ */ -+void fixParentGdkWindow() { -+ assert OS.GTK3; -+ // Changes to this method should be verified via -+ // org.eclipse.swt.tests.gtk/*/Bug510803_TabFolder_TreeEditor_Regression.java (part one) -+ parent.setParentGdkWindow(this); -+} -+ -+/** -+ * Native gtkwidget re-parenting in SWT on Gtk3 needs to be handled in a special way because -+ * some controls have non-standard GdkWindow as parents. (E.g ControlEditors), and other controls -+ * like TabItem and ExpandBar use reparenting to preserve proper hierarchy for correct event traversal (like dnd). -+ * -+ * Note, GdkWindows != GtkWindows. -+ * -+ * You should never call gtk_widget_reparent() directly or reparent widgets outside this method, -+ * otherwise you can break TabItem/TreeEditors. -+ * -+ * @param control that should be reparented. -+ * @param newParentHandle pointer/handle to the new GtkWidget parent. -+ */ -+static void gtk_widget_reparent (Control control, long /*int*/ newParentHandle) { -+ if (OS.GTK3) { -+ // Changes to this method should be verified via both parts in: -+ // org.eclipse.swt.tests.gtk/*/Bug510803_TabFolder_TreeEditor_Regression.java -+ long /*int*/ widget = control.topHandle(); -+ long /*int*/ parentContainer = OS.gtk_widget_get_parent (widget); -+ assert parentContainer != 0 : "Improper use of Control.gtk_widget_reparent. Widget currently has no parent."; -+ if (parentContainer != 0) { -+ OS.g_object_ref (widget); //so that it won't get destroyed due to lack of references. -+ OS.gtk_container_remove (parentContainer, widget); -+ OS.gtk_container_add (newParentHandle, widget); -+ OS.g_object_unref (widget); -+ control.fixParentGdkWindow(); -+ } -+ } else { // Gtk2. -+ OS.gtk_widget_reparent(control.topHandle(), newParentHandle); -+ } -+} -+ - @Override - long /*int*/ fixedMapProc (long /*int*/ widget) { - OS.gtk_widget_set_mapped (widget, true); -@@ -5254,7 +5299,7 @@ public boolean setParent (Composite parent) { - oldDecorations.fixAccelGroup (); - } - long /*int*/ newParent = parent.parentingHandle(); -- OS.gtk_widget_reparent(topHandle, newParent); -+ gtk_widget_reparent(this, newParent); - if (OS.GTK3) { - OS.swt_fixed_move (newParent, topHandle, x, y); - } else { -@@ -5287,7 +5332,7 @@ void setParentBackground () { - if (fixedHandle != 0) setBackgroundColor (fixedHandle, null); - } - --void setParentWindow (Control child) { -+void setParentGdkWindow (Control child) { - } - - boolean setRadioSelection (boolean value) { -@@ -5697,7 +5742,7 @@ void showWidget () { - state |= ZERO_WIDTH | ZERO_HEIGHT; - long /*int*/ topHandle = topHandle (); - long /*int*/ parentHandle = parent.parentingHandle (); -- parent.setParentWindow (this); -+ parent.setParentGdkWindow (this); - OS.gtk_container_add (parentHandle, topHandle); - if (handle != 0 && handle != topHandle) OS.gtk_widget_show (handle); - if ((state & (ZERO_WIDTH | ZERO_HEIGHT)) == 0) { -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ExpandItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ExpandItem.java -index fcfbd33..6e48823 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ExpandItem.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ExpandItem.java -@@ -525,7 +525,7 @@ public void setControl (Control control) { - //As ExpandItem's child can be created before the ExpandItem, our only - //option is to reparent the child upon the setControl(..) call. - //This is simmilar to TabFolder. -- gtk_widget_reparent (control.topHandle (), clientHandle ()); -+ Control.gtk_widget_reparent (control, clientHandle ()); - } - } - parent.layoutItems (0, true); -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java -index 208a373..ce9b4cc 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java -@@ -293,8 +293,8 @@ public void setControl (Control control) { - } - - if (control != null && OS.GTK3) { -- // See implementation note about bug 454936 at the start of TabFolder. -- OS.gtk_widget_reparent (control.topHandle (), pageHandle); -+ // To understand why we reparent, see implementation note about bug 454936 at the start of TabFolder. -+ Control.gtk_widget_reparent (control, pageHandle); - } - - Control oldControl = this.control, newControl = control; -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java -index ccf01ec..c572e51 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java -@@ -3649,9 +3649,9 @@ void setParentBackground () { - } - - @Override --void setParentWindow (Control child) { -- long /*int*/ window = eventWindow (); -- OS.gtk_widget_set_parent_window (child.topHandle(), window); -+void setParentGdkWindow (Control child) { -+ long /*int*/ parentGdkWindow = eventWindow (); -+ OS.gtk_widget_set_parent_window (child.topHandle(), parentGdkWindow); - /* - * Feature in GTK3: all children of Table have their GdkWindows - * re-parented so they are siblings of the parent Table -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java -index 86b72a0..50de17c 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java -@@ -3654,9 +3654,9 @@ void setParentBackground () { - } - - @Override --void setParentWindow (Control child) { -- long /*int*/ window = eventWindow (); -- OS.gtk_widget_set_parent_window (child.topHandle(), window); -+void setParentGdkWindow (Control child) { -+ long /*int*/ parentGdkWindow = eventWindow (); -+ OS.gtk_widget_set_parent_window (child.topHandle(), parentGdkWindow); - /* - * Feature in GTK3: all children of Tree have their GdkWindows - * re-parented so they are siblings of the parent Tree -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java -index 40fe88c..2da1da5 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java -@@ -936,21 +936,6 @@ long /*int*/ gtk_value_changed (long /*int*/ adjustment) { - return 0; - } - --/** -- * Reparent on gtk side. -- * Note: Composites with a setControl() function should probably use this function -- * to correct hierarchy on gtk side. -- * @param widget the handle to the widget. (usually topHandle()) -- * @param newParent handle to the new widget. -- */ --void gtk_widget_reparent (long /*int*/ widget, long /*int*/ newParent) { -- //Note, we do not actually call * 'gtk_widget_reparent(...) as it's deprecated as of gtk 3.14 -- OS.g_object_ref (widget); //so that it won't get destroyed due to lack of references. -- OS.gtk_container_remove (OS.gtk_widget_get_parent (widget), widget); -- OS.gtk_container_add (newParent, widget); -- OS.g_object_unref (widget); --} -- - long /*int*/ gtk_window_state_event (long /*int*/ widget, long /*int*/ event) { - return 0; - } diff --git a/eclipse-bug-531928-3.patch b/eclipse-bug-531928-3.patch deleted file mode 100644 index ed9174f..0000000 --- a/eclipse-bug-531928-3.patch +++ /dev/null @@ -1,364 +0,0 @@ -From 4b0412b94e47be8f2c5480568a36ec71809a148f Mon Sep 17 00:00:00 2001 -From: Eric Williams -Date: Fri, 23 Mar 2018 16:12:53 -0400 -Subject: Bug 531928: [GTK3] Table editing is broken - -The fix for bug 511133 introduced some logic which raises/lowers the -GdkWindows of widgets who are children of Table or Tree. Unforunately, -this breaks certain cases such as Tables/Trees that have more than one -child widget. - -Additionally, changing the drawing handle from fixedHandle to handle -meant that some child widgets were not getting their draw events -properly. According to GTK, child widgets with non-native windows should -receive draw events from their parent containers using -gtk_container_propagate_draw(). This patch follows this advice and -connects a Table/Tree's fixedHandle to the draw signal. The incoming -draw events to that fixedHandle are then propagated to the respective -child widgets using gtk_container_propagate_draw(). - -A reproducer snippet is attached. This patch also fixes a regression -from bug 511133 which caused the file permissions table (right click -file -> properties -> resources) to be empty/contain only one checkbox. - -Change-Id: I645a04df6773372aa27a360d3df9a3521437828f -Signed-off-by: Eric Williams --- - .../Eclipse SWT PI/gtk/library/os.c | 18 ++++ - .../Eclipse SWT PI/gtk/library/os_stats.c | 1 + - .../Eclipse SWT PI/gtk/library/os_stats.h | 1 + - .../gtk/org/eclipse/swt/internal/gtk/OS.java | 15 ++++ - .../gtk/org/eclipse/swt/widgets/Composite.java | 44 ++++++++++ - .../gtk/org/eclipse/swt/widgets/Control.java | 14 ---- - .../gtk/org/eclipse/swt/widgets/Table.java | 32 ++++--- - .../gtk/org/eclipse/swt/widgets/TableItem.java | 3 - - .../gtk/org/eclipse/swt/widgets/Tree.java | 32 ++++--- - .../gtk/org/eclipse/swt/widgets/TreeItem.java | 3 - - .../Bug531928_TableTreeEditorVisibility.java | 98 ++++++++++++++++++++++ - 11 files changed, 219 insertions(+), 42 deletions(-) - create mode 100644 tests/org.eclipse.swt.tests.gtk/ManualTests/org/eclipse/swt/tests/gtk/snippets/Bug531928_TableTreeEditorVisibility.java - -diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c -index cb6b841..5fc92d0 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c -+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c -@@ -8497,6 +8497,24 @@ JNIEXPORT jintLong JNICALL OS_NATIVE(_1gtk_1container_1get_1children) - } - #endif - -+#ifndef NO__1gtk_1container_1propagate_1draw -+JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1container_1propagate_1draw) -+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLong arg2) -+{ -+ OS_NATIVE_ENTER(env, that, _1gtk_1container_1propagate_1draw_FUNC); -+/* -+ gtk_container_propagate_draw((GtkContainer *)arg0, (GtkWidget *)arg1, (cairo_t *)arg2); -+*/ -+ { -+ OS_LOAD_FUNCTION(fp, gtk_container_propagate_draw) -+ if (fp) { -+ ((void (CALLING_CONVENTION*)(GtkContainer *, GtkWidget *, cairo_t *))fp)((GtkContainer *)arg0, (GtkWidget *)arg1, (cairo_t *)arg2); -+ } -+ } -+ OS_NATIVE_EXIT(env, that, _1gtk_1container_1propagate_1draw_FUNC); -+} -+#endif -+ - #ifndef NO__1gtk_1container_1remove - JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1container_1remove) - (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1) -diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c -index ebfe993..98f36e6 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c -+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c -@@ -680,6 +680,7 @@ char * GTK_nativeFunctionNames[] = { - "_1gtk_1container_1forall", - "_1gtk_1container_1get_1border_1width", - "_1gtk_1container_1get_1children", -+ "_1gtk_1container_1propagate_1draw", - "_1gtk_1container_1remove", - "_1gtk_1container_1set_1border_1width", - "_1gtk_1css_1provider_1get_1named", -diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h -index f707a39..97f4d14 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h -+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h -@@ -690,6 +690,7 @@ typedef enum { - _1gtk_1container_1forall_FUNC, - _1gtk_1container_1get_1border_1width_FUNC, - _1gtk_1container_1get_1children_FUNC, -+ _1gtk_1container_1propagate_1draw_FUNC, - _1gtk_1container_1remove_FUNC, - _1gtk_1container_1set_1border_1width_FUNC, - _1gtk_1css_1provider_1get_1named_FUNC, -diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java -index cc80140..78ba8d3 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java -@@ -6915,6 +6915,21 @@ public class GTK extends OS { - lock.unlock(); - } - } -+ /** -+ * @method flags=dynamic -+ * @param container cast=(GtkContainer *) -+ * @param child cast=(GtkWidget *) -+ * @param cairo cast=(cairo_t *) -+ */ -+ public static final native void _gtk_container_propagate_draw(long /*int*/ container, long /*int*/ child, long /*int*/ cairo); -+ public static final void gtk_container_propagate_draw(long /*int*/ container, long /*int*/ child, long /*int*/ cairo) { -+ lock.lock(); -+ try { -+ _gtk_container_propagate_draw(container, child, cairo); -+ } finally { -+ lock.unlock(); -+ } -+ } - /** @param container cast=(GtkContainer *) */ - public static final native int _gtk_container_get_border_width(long /*int*/ container); - public static final int gtk_container_get_border_width(long /*int*/ container) { -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java -index 57bbf52..bd253c4 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java -@@ -1393,6 +1393,50 @@ void printWidget (GC gc, long /*int*/ drawable, int depth, int x, int y) { - newClip.dispose (); - } - -+/** -+ * Connects this widget's fixedHandle to the "draw" signal.
-+ * NOTE: only the "draw" (EXPOSE) signal is connected, not EXPOSE_EVENT_INVERSE. -+ */ -+void connectFixedHandleDraw () { -+ long /*int*/ paintHandle = fixedHandle; -+ int paintMask = OS.GDK_EXPOSURE_MASK; -+ OS.gtk_widget_add_events (paintHandle, paintMask); -+ -+ OS.g_signal_connect_closure_by_id (paintHandle, display.signalIds [DRAW], 0, display.getClosure (DRAW), true); -+} -+ -+/** -+ *

Propagates draw events from a parent container to its children using -+ * gtk_container_propagate_draw(). This method only works if the fixedHandle -+ * has been connected to the "draw" signal, and only propagates draw events -+ * to other siblings of handle (i.e. other children of fixedHandle, but not -+ * handle itself).

-+ * -+ *

It's useful to propagate draw events to other child widgets for things -+ * like Table/Tree editors, or other scenarios where a widget is a child of -+ * a non-standard container widget (i.e., not a direct child of a Composite).

-+ * -+ * @param container the parent container, i.e. fixedHandle -+ * @param cairo the cairo context provided by GTK -+ */ -+void propagateDraw (long /*int*/ container, long /*int*/ cairo) { -+ if (container == fixedHandle && OS.GTK3) { -+ long /*int*/ list = OS.gtk_container_get_children (container); -+ long /*int*/ temp = list; -+ while (temp != 0) { -+ long /*int*/ child = OS.g_list_data (temp); -+ if (child != 0) { -+ Widget widget = display.getWidget (child); -+ if (widget != this) { -+ OS.gtk_container_propagate_draw(container, child, cairo); -+ } -+ } -+ temp = OS.g_list_next (temp); -+ } -+ OS.g_list_free (list); -+ } -+} -+ - @Override - void redrawChildren () { - super.redrawChildren (); -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java -index 7971ff6..f075de8 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java -@@ -5537,13 +5537,6 @@ public void setVisible (boolean visible) { - state &= ~HIDDEN; - if ((state & (ZERO_WIDTH | ZERO_HEIGHT)) == 0) { - if (enableWindow != 0) OS.gdk_window_show_unraised (enableWindow); -- /* -- * Raise this widget's GdkWindow if the reparentOnVisibility -- * flag has been set and visible is true. See bug 511133. -- */ -- if (reparentOnVisibility && OS.GTK3) { -- OS.gdk_window_raise(gtk_widget_get_window(topHandle)); -- } - OS.gtk_widget_show (topHandle); - } - } else { -@@ -5580,13 +5573,6 @@ public void setVisible (boolean visible) { - OS.gtk_widget_hide (topHandle); - if (isDisposed ()) return; - if (enableWindow != 0) OS.gdk_window_hide (enableWindow); -- /* -- * Lower this widget's GdkWindow if the reparentOnVisibility -- * flag has been set and visible is false. See bug 511133. -- */ -- if (reparentOnVisibility && OS.GTK3) { -- OS.gdk_window_lower(gtk_widget_get_window(topHandle)); -- } - sendEvent (SWT.Hide); - } - } -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java -index a64bdfc..dff41bd 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java -@@ -85,7 +85,7 @@ public class Table extends Composite { - GdkRGBA background, foreground; - Color headerBackground, headerForeground; - String headerCSSBackground, headerCSSForeground; -- boolean ownerDraw, ignoreSize, ignoreAccessibility, pixbufSizeSet; -+ boolean ownerDraw, ignoreSize, ignoreAccessibility, pixbufSizeSet, hasChildren; - int maxWidth = 0; - int topIndex; - double cachedAdjustment, currentAdjustment; -@@ -3653,18 +3653,18 @@ void setParentGdkWindow (Control child) { - long /*int*/ parentGdkWindow = eventWindow (); - OS.gtk_widget_set_parent_window (child.topHandle(), parentGdkWindow); - /* -- * Feature in GTK3: all children of Table have their GdkWindows -- * re-parented so they are siblings of the parent Table -- * (i.e. on the same level in the z-order). -+ * Feature in GTK3: non-native GdkWindows are not drawn implicitly -+ * as of GTK3.10+. It is the client's responsibility to propagate draw -+ * events to these windows in the "draw" signal handler. - * -- * To fix table editing in GTK3: raise/lower the -- * GdkWindow of these child widgets to make them visible when -- * setVisible() is called on them. This ensures they are properly -- * drawn when setVisible(true) is called, and properly hidden -- * when setVisible(false) is called. See bug 511133. -+ * This change breaks table editing on GTK3.10+, as the table editor -+ * widgets no longer receive draw signals. The fix is to connect the -+ * Table's fixedHandle to the draw signal, and propagate the draw -+ * signal using gtk_container_propagate_draw(). See bug 531928. - */ -- if (child != null && OS.GTK3) { -- child.reparentOnVisibility = true; -+ if (OS.GTK_VERSION >= OS.VERSION(3, 10, 0)) { -+ hasChildren = true; -+ connectFixedHandleDraw(); - } - } - -@@ -4080,6 +4080,16 @@ void updateScrollBarValue (ScrollBar bar) { - @Override - long /*int*/ windowProc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ user_data) { - switch ((int)/*64*/user_data) { -+ case EXPOSE_EVENT: { -+ /* -+ * If this Table has any child widgets, propagate the draw signal -+ * to them using gtk_container_propagate_draw(). See bug 531928. -+ */ -+ if (OS.GTK_VERSION >= OS.VERSION(3, 10, 0) && hasChildren) { -+ propagateDraw(handle, arg0); -+ } -+ break; -+ } - case EXPOSE_EVENT_INVERSE: { - /* - * Feature in GTK. When the GtkTreeView has no items it does not propagate -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java -index a1d3b89..c6031d2 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java -@@ -331,9 +331,6 @@ Rectangle getBoundsinPixels () { - } - int width = OS.gtk_tree_view_column_get_visible (column) ? rect.width + 1 : 0; - Rectangle r = new Rectangle (rect.x, rect.y, width, rect.height + 1); -- if (parent.getHeaderVisible() && OS.GTK_VERSION > OS.VERSION(3, 9, 0)) { -- r.y += parent.getHeaderHeightInPixels(); -- } - return r; - } - -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java -index 6644346..1842b84 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java -@@ -91,7 +91,7 @@ public class Tree extends Composite { - int drawState, drawFlags; - GdkColor drawForeground; - GdkRGBA background, foreground; -- boolean ownerDraw, ignoreSize, ignoreAccessibility, pixbufSizeSet; -+ boolean ownerDraw, ignoreSize, ignoreAccessibility, pixbufSizeSet, hasChildren; - int pixbufHeight, pixbufWidth; - TreeItem topItem; - double cachedAdjustment, currentAdjustment; -@@ -3658,18 +3658,18 @@ void setParentGdkWindow (Control child) { - long /*int*/ parentGdkWindow = eventWindow (); - OS.gtk_widget_set_parent_window (child.topHandle(), parentGdkWindow); - /* -- * Feature in GTK3: all children of Tree have their GdkWindows -- * re-parented so they are siblings of the parent Tree -- * (i.e. on the same level in the z-order). -+ * Feature in GTK3: non-native GdkWindows are not drawn implicitly -+ * as of GTK3.10+. It is the client's responsibility to propagate draw -+ * events to these windows in the "draw" signal handler. - * -- * To fix table editing in GTK3: raise/lower the -- * GdkWindow of these child widgets to make them visible when -- * setVisible() is called on them. This ensures they are properly -- * drawn when setVisible(true) is called, and properly hidden -- * when setVisible(false) is called. See bug 511133. -+ * This change breaks tree editing on GTK3.10+, as the tree editor -+ * widgets no longer receive draw signals. The fix is to connect the -+ * Tree's fixedHandle to the draw signal, and propagate the draw -+ * signal using gtk_container_propagate_draw(). See bug 531928. - */ -- if (child != null && OS.GTK3) { -- child.reparentOnVisibility = true; -+ if (OS.GTK_VERSION >= OS.VERSION(3, 10, 0)) { -+ hasChildren = true; -+ connectFixedHandleDraw(); - } - } - -@@ -4010,6 +4010,16 @@ void updateScrollBarValue (ScrollBar bar) { - @Override - long /*int*/ windowProc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ user_data) { - switch ((int)/*64*/user_data) { -+ case EXPOSE_EVENT: { -+ /* -+ * If this Tree has any child widgets, propagate the draw signal -+ * to them using gtk_container_propagate_draw(). See bug 531928. -+ */ -+ if (OS.GTK_VERSION >= OS.VERSION(3, 10, 0) && hasChildren) { -+ propagateDraw(handle, arg0); -+ } -+ break; -+ } - case EXPOSE_EVENT_INVERSE: { - /* - * Feature in GTK. When the GtkTreeView has no items it does not propagate -diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java -index 03b847c..66307f8 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java -+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java -@@ -517,9 +517,6 @@ Rectangle getBoundsInPixels () { - } - int width = OS.gtk_tree_view_column_get_visible (column) ? rect.width + 1 : 0; - Rectangle r = new Rectangle (rect.x, rect.y, width, rect.height + 1); -- if (parent.getHeaderVisible() && OS.GTK_VERSION > OS.VERSION(3, 9, 0)) { -- r.y += parent.getHeaderHeightInPixels(); -- } - return r; - } - -diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h -index ddb326e..43acdb3 100644 ---- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h -+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h -@@ -255,6 +255,8 @@ - #define gdk_cairo_create_LIB LIB_GDK - #define gdk_colormap_alloc_color_LIB LIB_GDK - #define gdk_colormap_free_colors_LIB LIB_GDK -+#define gtk_container_propagate_draw_LIB LIB_GTK -+#define gtk_widget_reparent_LIB LIB_GTK - #define gtk_paint_box_LIB LIB_GTK - #define gtk_paint_handle_LIB LIB_GTK - #define gtk_paint_focus_LIB LIB_GTK diff --git a/eclipse-debug-symbols.patch b/eclipse-debug-symbols.patch index fd7290c..f1259a6 100644 --- a/eclipse-debug-symbols.patch +++ b/eclipse-debug-symbols.patch @@ -1,6 +1,6 @@ --- eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_linux.mak.orig 2014-03-12 10:43:26.000000000 +0000 +++ eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_linux.mak 2014-03-12 14:36:44.130938292 +0000 -@@ -121,7 +121,7 @@ +@@ -98,7 +98,7 @@ WEBKIT_OBJECTS = swt.o webkitgtk.o webkitgtk_structs.o webkitgtk_stats.o webkitgtk_custom.o GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o @@ -9,7 +9,7 @@ -DSWT_VERSION=$(SWT_VERSION) \ $(NATIVE_STATS) \ $(SWT_DEBUG) \ -@@ -133,15 +133,6 @@ +@@ -110,14 +110,6 @@ ${SWT_PTR_CFLAGS} LFLAGS = -shared -fPIC ${SWT_LFLAGS} @@ -19,7 +19,6 @@ - # https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html#Link-Options - # http://stackoverflow.com/questions/14175040/effects-of-removing-all-symbol-table-and-relocation-information-from-an-executab - AWT_LFLAGS := $(AWT_LFLAGS) -s -- MOZILLALFLAGS := $(MOZILLALFLAGS) -s - LFLAGS := $(LFLAGS) -s -endif @@ -27,12 +26,12 @@ --- rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/make_linux.mak.orig 2014-03-12 14:47:37.513191381 +0000 +++ rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/make_linux.mak 2014-03-12 14:47:45.672200015 +0000 -@@ -48,7 +48,7 @@ - -DGTK3_LIB="\"libgtk-3.so.0\"" -DGDK3_LIB="\"libgdk-3.so.0\"" \ - -DPIXBUF_LIB="\"libgdk_pixbuf-2.0.so.0\"" -DGOBJ_LIB="\"libgobject-2.0.so.0\"" -DX11_LIB="\"libX11.so.6\"" +@@ -91,7 +91,7 @@ + -DPIXBUF_LIB="\"libgdk_pixbuf-2.0.so.0\"" -DGOBJ_LIB="\"libgobject-2.0.so.0\"" \ + -DGIO_LIB="\"libgio-2.0.so.0\"" -DGLIB_LIB="\"libglib-2.0.so.0\"" LFLAGS = ${M_ARCH} -shared -fpic -Wl,--export-dynamic -CFLAGS = ${M_CFLAGS} ${M_ARCH} -g -s -Wall\ +CFLAGS = ${M_CFLAGS} ${M_ARCH} -g -Wall\ -fpic \ -DLINUX \ - -DMOZILLA_FIX \ + -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ diff --git a/eclipse-disable-droplets-in-dropins.patch b/eclipse-disable-droplets-in-dropins.patch index 21fb38c..83eca56 100644 --- a/eclipse-disable-droplets-in-dropins.patch +++ b/eclipse-disable-droplets-in-dropins.patch @@ -23,8 +23,8 @@ index 802ee1b..74023fe 100644 protected void synchronizeConfiguration(Configuration config) { + String fragments = System.getProperty("p2.fragments"); List sites = config.getSites(); - Set newRepos = new LinkedHashSet(); - Set toBeRemoved = new HashSet(); + Set newRepos = new LinkedHashSet<>(); + Set toBeRemoved = new HashSet<>(); for (Site site : sites) { String siteURL = site.getUrl(); + if (fragments != null) { diff --git a/eclipse-disable-uses-constraints.patch b/eclipse-disable-uses-constraints.patch index d6e3608..6d59127 100644 --- a/eclipse-disable-uses-constraints.patch +++ b/eclipse-disable-uses-constraints.patch @@ -12,7 +12,7 @@ diff --git rt.equinox.framework/bundles/org.eclipse.osgi/felix/src/org/apache/fe index ded683f..7216865 100755 --- rt.equinox.framework/bundles/org.eclipse.osgi/felix/src/org/apache/felix/resolver/ResolverImpl.java +++ rt.equinox.framework/bundles/org.eclipse.osgi/felix/src/org/apache/felix/resolver/ResolverImpl.java -@@ -1210,7 +1210,9 @@ public class ResolverImpl implements Resolver +@@ -1230,7 +1230,9 @@ public class ResolverImpl implements Resolver { public void run() { diff --git a/eclipse-feature-plugins-to-category-ius.patch b/eclipse-feature-plugins-to-category-ius.patch index 4b64c88..f422be4 100644 --- a/eclipse-feature-plugins-to-category-ius.patch +++ b/eclipse-feature-plugins-to-category-ius.patch @@ -26,13 +26,10 @@ index 0743586..1cbf404 100644 -- -- + + -- +- - - - +- +- - -- -- - @@ -313,7 +306,6 @@ index 88a8daa..382c5ee 100644 + + + -+ + + + @@ -325,7 +317,30 @@ index 88a8daa..382c5ee 100644 --- eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml.orig 2017-01-13 11:29:16.362473652 +0000 +++ eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml 2017-01-13 11:29:16.371473551 +0000 -@@ -95,62 +95,6 @@ +@@ -22,6 +22,22 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + +- +- +- +- +- +- +- +- - - +- +- -- -- -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - + { + String name = pathname.getName(); +- return name.startsWith("eclipse-platform-"); ++ return name.startsWith("eclipse-SDK-"); }); if (children != null && children.length == 1) + file = children[0]; diff --git eclipse.jdt.core/org.eclipse.jdt.apt.pluggable.tests/build.properties eclipse.jdt.core/org.eclipse.jdt.apt.pluggable.tests/build.properties index 376daa6..1742a8d 100644 --- eclipse.jdt.core/org.eclipse.jdt.apt.pluggable.tests/build.properties @@ -59,7 +59,7 @@ diff --git eclipse.jdt.core/org.eclipse.jdt.compiler.apt.tests/build.properties index bc8963d..fbe4da3 100644 --- eclipse.jdt.core/org.eclipse.jdt.compiler.apt.tests/build.properties +++ eclipse.jdt.core/org.eclipse.jdt.compiler.apt.tests/build.properties -@@ -21,3 +21,6 @@ +@@ -25,3 +25,6 @@ src.includes = about.html compilerArg=-proc:none jars.extra.classpath = java10/java10api.jar @@ -260,7 +260,7 @@ index bc8963d..fbe4da3 100644 --- eclipse.pde.build/org.eclipse.pde.build.tests/test.xml.orig 2017-04-28 11:49:47.046123546 +0100 +++ eclipse.pde.build/org.eclipse.pde.build.tests/test.xml 2017-04-28 12:05:11.947521737 +0100 -@@ -157,13 +157,6 @@ +@@ -156,13 +156,6 @@ id="org.eclipse.jdt.source.feature.group" version="" /> + + -+ ++ + + + @@ -105,7 +105,7 @@ --- eclipse.platform.releng/features/org.eclipse.sdk/feature.xml.orig 2016-04-27 09:18:50.421221722 +0100 +++ eclipse.platform.releng/features/org.eclipse.sdk/feature.xml 2016-04-27 09:19:08.454957280 +0100 -@@ -59,16 +59,6 @@ +@@ -51,16 +51,6 @@ id="org.eclipse.help.source" version="0.0.0"/> diff --git a/eclipse-p2-pick-up-renamed-jars.patch b/eclipse-p2-pick-up-renamed-jars.patch index f07e321..8b09552 100644 --- a/eclipse-p2-pick-up-renamed-jars.patch +++ b/eclipse-p2-pick-up-renamed-jars.patch @@ -1,11 +1,11 @@ ---- rt.equinox.p2/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java.orig 2012-05-05 15:24:03.000000000 +0200 -+++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java 2012-05-17 16:14:48.607827015 +0200 -@@ -805,7 +805,7 @@ - //First check to see if there is already an IU around for this - IInstallableUnit bundleIU = queryForIU(result, bundleDescriptions[i].getSymbolicName(), PublisherHelper.fromOSGiVersion(bd.getVersion())); - IArtifactKey key = createBundleArtifactKey(bd.getSymbolicName(), bd.getVersion().toString()); -- if (bundleIU == null) { -+ if (bundleIU == null || !bd.getLocation().equals(bundleIU.getProperty("file.name"))) { - createAdviceFileAdvice(bundleDescriptions[i], info); - // Create the bundle IU according to any shape advice we have - bundleIU = doCreateBundleIU(bd, key, info); +--- rt.equinox.p2/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java.orig 2018-04-25 15:35:44.914031196 +0100 ++++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java 2018-04-25 15:36:17.546856697 +0100 +@@ -880,7 +880,7 @@ + //First check to see if there is already an IU around for this + IInstallableUnit bundleIU = queryForIU(result, bd.getSymbolicName(), PublisherHelper.fromOSGiVersion(bd.getVersion())); + IArtifactKey bundleArtKey = createBundleArtifactKey(bd.getSymbolicName(), bd.getVersion().toString()); +- if (bundleIU == null) { ++ if (bundleIU == null || !bd.getLocation().equals(bundleIU.getProperty("file.name"))) { + createAdviceFileAdvice(bd, info); + // Create the bundle IU according to any shape advice we have + bundleIU = doCreateBundleIU(bd, bundleArtKey, info); diff --git a/eclipse-pde-tp-support-droplets.patch b/eclipse-pde-tp-support-droplets.patch index d7598d4..a691200 100644 --- a/eclipse-pde-tp-support-droplets.patch +++ b/eclipse-pde-tp-support-droplets.patch @@ -14,7 +14,7 @@ diff --git eclipse.pde.ui/ui/org.eclipse.pde.core/META-INF/MANIFEST.MF eclipse.p index 7c20994..ab702e3 100644 --- eclipse.pde.ui/ui/org.eclipse.pde.core/META-INF/MANIFEST.MF +++ eclipse.pde.ui/ui/org.eclipse.pde.core/META-INF/MANIFEST.MF -@@ -102,5 +102,6 @@ Require-Bundle: +@@ -102,6 +102,7 @@ Require-Bundle: org.eclipse.core.filesystem;bundle-version="[1.0.0,2.0.0)" Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: JavaSE-1.8 @@ -22,6 +22,7 @@ index 7c20994..ab702e3 100644 +Import-Package: com.ibm.icu.util, + org.eclipse.equinox.internal.simpleconfigurator.utils Bundle-ActivationPolicy: lazy + Automatic-Module-Name: org.eclipse.pde.core diff --git eclipse.pde.ui/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/P2Utils.java eclipse.pde.ui/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/P2Utils.java index fbd4b81..55cd40e 100644 --- eclipse.pde.ui/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/P2Utils.java diff --git a/eclipse-pluginconverter-warning.patch b/eclipse-pluginconverter-warning.patch deleted file mode 100644 index 5b4c22c..0000000 --- a/eclipse-pluginconverter-warning.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- rt.equinox.p2/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java.orig 2016-04-17 00:05:41.751589113 +0100 -+++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java 2016-04-17 00:11:13.032263291 +0100 -@@ -519,8 +519,6 @@ - try { - converter = acquirePluginConverter(); - if (converter == null) { -- String message = NLS.bind(Messages.exception_noPluginConverter, bundleLocation); -- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, message)); - return null; - } - return converter.convertManifest(bundleLocation, false, null, true, null); diff --git a/eclipse-secondary-arches.patch b/eclipse-secondary-arches.patch index 67ec239..35ba8e9 100644 --- a/eclipse-secondary-arches.patch +++ b/eclipse-secondary-arches.patch @@ -193,33 +193,36 @@ index 7e1f520..734dd10 100644 bundles/org.eclipse.swt.win32.win32.x86 --- a/eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf 2017-04-21 10:15:34.857977599 +0100 +++ b/eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf 2017-04-21 10:18:22.878025820 +0100 -@@ -45,3 +45,18 @@ - requires.9.name = org.eclipse.swt.gtk.linux.ppc64le - requires.9.range = [$version$,$version$] - requires.9.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=ppc64le)(!(org.eclipse.swt.buildtime=true))) +@@ -39,3 +39,18 @@ + requires.8.name = org.eclipse.swt.gtk.linux.ppc64le + requires.8.range = [$version$,$version$] + requires.8.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=ppc64le)(!(org.eclipse.swt.buildtime=true))) ++ ++requires.9.namespace = org.eclipse.equinox.p2.iu ++requires.9.name = org.eclipse.swt.gtk.linux.arm ++requires.9.range = [$version$,$version$] ++requires.9.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=arm)(!(org.eclipse.swt.buildtime=true))) + +requires.10.namespace = org.eclipse.equinox.p2.iu -+requires.10.name = org.eclipse.swt.gtk.linux.arm ++requires.10.name = org.eclipse.swt.gtk.linux.aarch64 +requires.10.range = [$version$,$version$] -+requires.10.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=arm)(!(org.eclipse.swt.buildtime=true))) ++requires.10.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=aarch64)(!(org.eclipse.swt.buildtime=true))) + +requires.11.namespace = org.eclipse.equinox.p2.iu -+requires.11.name = org.eclipse.swt.gtk.linux.aarch64 ++requires.11.name = org.eclipse.swt.gtk.linux.s390x +requires.11.range = [$version$,$version$] -+requires.11.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=aarch64)(!(org.eclipse.swt.buildtime=true))) -+ -+requires.12.namespace = org.eclipse.equinox.p2.iu -+requires.12.name = org.eclipse.swt.gtk.linux.s390x -+requires.12.range = [$version$,$version$] -+requires.12.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=s390x)(!(org.eclipse.swt.buildtime=true))) ++requires.11.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=s390x)(!(org.eclipse.swt.buildtime=true))) --- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh 2017-04-19 13:31:15.000000000 +0100 +++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh 2017-04-23 16:58:34.022207885 +0100 -@@ -128,7 +128,7 @@ +@@ -119,9 +119,9 @@ + "s390x") + defaultOSArch="s390x" defaultJava=DEFAULT_JAVA_EXEC - OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch" +- OUTPUT_DIR="$EXEC_DIR/contributed/$defaultWS/$defaultOS/$defaultOSArch" ++ OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch" ;; -- "arm*") -+ arm*) +- "arm*") ++ arm*) defaultOSArch="arm" defaultJava=DEFAULT_JAVA_EXEC OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch" diff --git a/eclipse-swt-disable-gtk2.patch b/eclipse-swt-disable-gtk2.patch index 5517871..28911d6 100644 --- a/eclipse-swt-disable-gtk2.patch +++ b/eclipse-swt-disable-gtk2.patch @@ -10,7 +10,7 @@ + + + -+ ++ @@ -22,4 +22,4 @@ - - + diff --git a/eclipse-webkit2-by-default.patch b/eclipse-webkit2-by-default.patch deleted file mode 100644 index 1c297ee..0000000 --- a/eclipse-webkit2-by-default.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- "./eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT Browser/gtk/org/eclipse/swt/browser/BrowserFactory.java.orig" 2016-04-29 12:15:18.524027606 +0100 -+++ "./eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT Browser/gtk/org/eclipse/swt/browser/BrowserFactory.java" 2016-04-29 12:20:19.696980780 +0100 -@@ -16,9 +16,6 @@ - - WebBrowser createWebBrowser (int style) { - boolean webkitInstalled = WebKit.IsInstalled (); -- if ((style & SWT.MOZILLA) != 0 || (!webkitInstalled && (style & SWT.WEBKIT) == 0)) { -- return new Mozilla (); -- } - if (!webkitInstalled) return null; - - return new WebKit (); diff --git a/eclipse.spec b/eclipse.spec index 0e2b2c3..84af639 100644 --- a/eclipse.spec +++ b/eclipse.spec @@ -1,19 +1,19 @@ # Set to 1 to build Eclipse without circular dependency to eclipse-pde, API # generation and docs will not be built and a second run will be required, but # this is a way to bootstrap Eclipse on secondary archs. -%global bootstrap 0 +%global bootstrap 1 Epoch: 1 %global eb_commit 81122c55c72d9e308302c878f642f93c39507436 -%global eclipse_tag S4_7_3_aRC2 +%global eclipse_tag I20180423-2000 %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 %global _jetty_version 9.4.9 %else %global _jetty_version 9.4.6 %endif -%global _lucene_version 6.1.0 +%global _lucene_version 7.1.0 %ifarch %{ix86} %global eclipse_arch x86 @@ -32,19 +32,9 @@ Epoch: 1 %global app_name %{?app_name_prefix}%{!?app_name_prefix:Eclipse} %global app_exec %{?app_exec_prefix} eclipse -# See fedora-devel-java-list discussion in September 2008. -# Prevent brp-java-repack-jars from being run. -%global __jar_repack %{nil} - # Eclipse is arch-specific, but multilib agnostic %global _eclipsedir %{_prefix}/lib/eclipse -%if 0%{?fedora} || 0%{?rhel} > 7 -%global use_webkit2 1 -%else -%global use_webkit2 0 -%endif - %if 0%{?fedora} >= 27 || 0%{?rhel} > 7 %global use_wayland 1 %else @@ -53,8 +43,8 @@ Epoch: 1 Summary: An open, extensible IDE Name: eclipse -Version: 4.7.3a -Release: 4%{?dist} +Version: 4.8.0 +Release: 0.1%{?dist} License: EPL URL: http://www.eclipse.org/ @@ -67,13 +57,10 @@ Source1: http://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.eclipse-buil # Eclipse should not include source for dependencies that are not supplied by this package # and should not include source for bundles that are not relevant to our platform -Patch1: eclipse-no-source-for-dependencies.patch - -# Remove overly verbose warning from lack of eclipse 2.0 support -Patch2: eclipse-pluginconverter-warning.patch +Patch0: eclipse-no-source-for-dependencies.patch # https://bugs.eclipse.org/bugs/show_bug.cgi?id=377515 -Patch3: eclipse-p2-pick-up-renamed-jars.patch +Patch1: eclipse-p2-pick-up-renamed-jars.patch # Patch for this was contributed. Unlikely to be released. Patch4: eclipse-ignore-version-when-calculating-home.patch @@ -82,7 +69,7 @@ Patch4: eclipse-ignore-version-when-calculating-home.patch # just source, and we don't want additional dependencies. Patch5: eclipse-remove-jgit-provider.patch -Patch6: eclipse-test-support.patch +#Patch6: eclipse-test-support.patch Patch7: eclipse-secondary-arches.patch @@ -120,9 +107,6 @@ Patch20: eclipse-fix-tests.patch Patch21: eclipse-adjust-droplets.patch Patch22: eclipse-pde-tp-support-droplets.patch -# Use webkit2 by default and prevent usage of xulrunner -Patch23: eclipse-webkit2-by-default.patch - # Only build gtk3 backend for SWT Patch24: eclipse-swt-disable-gtk2.patch @@ -142,20 +126,6 @@ Patch29: fix_ant_build.patch # Hide the p2 Droplets from cluttering Install Wizard Combo Patch30: eclipse-hide-droplets-from-install-wizard.patch -# X11 crash when running on wayland -Patch31: fix-x11-crash-ebz527693.patch - -# Change resource refresh default -Patch32: eclipse-bug-531844.patch - -# Fix menu appearance bug -Patch33: eclipse-bug-431423.patch - -# Fixes for broken table editors -Patch34: eclipse-bug-531928-1.patch -Patch35: eclipse-bug-531928-2.patch -Patch36: eclipse-bug-531928-3.patch - # Use the jit on 32bit arm to speed up the build %ifarch %{arm} BuildRequires: java-1.8.0-openjdk-aarch32-devel @@ -188,12 +158,7 @@ BuildRequires: pkgconfig(xtst) BuildRequires: pkgconfig(libsecret-1) BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(gtk+-3.0) -%if ! %{use_webkit2} -# RHEL does not have webkit2 -BuildRequires: pkgconfig(webkitgtk-3.0) -%else BuildRequires: pkgconfig(webkit2gtk-4.0) -%endif BuildRequires: icu4j >= 1:59.1 BuildRequires: ant >= 1.10.1 BuildRequires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging ant-apache-bsf @@ -207,7 +172,7 @@ BuildRequires: apache-commons-fileupload BuildRequires: osgi(org.apache.felix.gogo.shell) >= 1.0.0 BuildRequires: osgi(org.apache.felix.gogo.command) >= 1.0.2 BuildRequires: osgi(org.apache.felix.gogo.runtime) >= 1.0.4 -BuildRequires: osgi(org.apache.felix.scr) >= 2.0.10 +BuildRequires: osgi(org.apache.felix.scr) >= 2.0.14 BuildRequires: osgi(org.eclipse.jetty.util) >= %{_jetty_version} BuildRequires: osgi(org.eclipse.jetty.server) >= %{_jetty_version} BuildRequires: osgi(org.eclipse.jetty.http) >= %{_jetty_version} @@ -225,13 +190,13 @@ BuildRequires: junit5 BuildRequires: apiguardian BuildRequires: hamcrest >= 1.3 BuildRequires: sat4j -BuildRequires: objectweb-asm >= 5.0.3-1 +BuildRequires: objectweb-asm >= 6.0 BuildRequires: sac -BuildRequires: batik-css +BuildRequires: batik-css >= 1.9-7 +BuildRequires: xmlgraphics-commons >= 2.2 BuildRequires: xml-commons-apis BuildRequires: atinject BuildRequires: atinject-tck -BuildRequires: eclipse-filesystem BuildRequires: eclipse-ecf-core >= 3.13.7-1 BuildRequires: eclipse-emf-core >= 1:2.13.0-1 BuildRequires: eclipse-license @@ -264,14 +229,8 @@ Summary: SWT Library for GTK+ Requires: java-headless >= 1:1.7.0 Requires: javapackages-tools -Requires: eclipse-filesystem -%if ! %{use_webkit2} -# RHEL does not have webkit2 Requires: gtk3 -Requires: webkitgtk3 -%else Requires: webkitgtk4 -%endif %description swt SWT Library for GTK+. @@ -280,7 +239,6 @@ SWT Library for GTK+. Summary: Eclipse OSGi - Equinox Requires: java-headless >= 1:1.7.0 Requires: javapackages-tools -Requires: eclipse-filesystem Provides: osgi(system.bundle) = %{epoch}:%{version} %description equinox-osgi @@ -302,7 +260,7 @@ Requires: apache-commons-jxpath Requires: osgi(org.apache.felix.gogo.shell) >= 1.0.0 Requires: osgi(org.apache.felix.gogo.command) >= 1.0.2 Requires: osgi(org.apache.felix.gogo.runtime) >= 1.0.4 -Requires: osgi(org.apache.felix.scr) >= 2.0.10 +Requires: osgi(org.apache.felix.scr) >= 2.0.14 Requires: osgi(org.eclipse.jetty.util) >= %{_jetty_version} Requires: osgi(org.eclipse.jetty.server) >= %{_jetty_version} Requires: osgi(org.eclipse.jetty.http) >= %{_jetty_version} @@ -317,7 +275,8 @@ Requires: lucene-queryparser >= %{_lucene_version} Requires: lucene-analyzers-smartcn >= %{_lucene_version} Requires: sat4j Requires: sac -Requires: batik-css +Requires: batik-css >= 1.9-7 +Requires: xmlgraphics-commons >= 2.2 Requires: xml-commons-apis Requires: atinject Requires: eclipse-ecf-core >= 3.13.7-1 @@ -369,7 +328,7 @@ Summary: Eclipse Plugin Development Environment Requires: %{name}-platform = %{epoch}:%{version}-%{release} Requires: %{name}-jdt = %{epoch}:%{version}-%{release} -Requires: objectweb-asm >= 5.0.3-1 +Requires: objectweb-asm >= 6.0 %description pde Eclipse Plugin Development Environment. This package is required for @@ -411,12 +370,11 @@ Eclipse Tests. tar --strip-components=1 -xf %{SOURCE1} +%patch0 %patch1 -%patch2 -%patch3 %patch4 %patch5 -%patch6 +#%patch6 %patch7 -p1 %patch10 %patch11 @@ -428,10 +386,6 @@ tar --strip-components=1 -xf %{SOURCE1} %patch20 %patch21 %patch22 -%if %{use_webkit2} -# RHEL does not have webkit2 -%patch23 -%endif %patch24 %patch25 %patch26 @@ -442,14 +396,6 @@ tar --strip-components=1 -xf %{SOURCE1} %endif %patch29 %patch30 -%patch31 -p1 -%patch32 -pushd eclipse.platform.swt -%patch33 -p1 -%patch34 -p1 -%patch35 -p1 -%patch36 -p1 -popd # Use ecj when bootstrapping %if %{bootstrap} @@ -502,13 +448,6 @@ sed -i -e 's/groupId>org.eclipse.jdtorg.eclipse.tycho' \ +sed -i -e '//a' \ eclipse.platform.releng.tychoeclipsebuilder/platform/platform.product # Ensure batch compiler gets installed correctly @@ -651,6 +590,9 @@ dependencies/fake_ant_dependency.sh # Allow usage of javax.servlet.jsp 2.3. sed -i '/javax\.servlet\.jsp/ s/2\.3/2\.4/' rt.equinox.bundles/bundles/org.eclipse.equinox.jsp.jasper/META-INF/MANIFEST.MF +# Allow usage of batik 1.9 (1.9.1 is identical to 1.9 anyway) +sed -i '/batik/s/1\.9\.1/1.9.0/' eclipse.platform.ui/bundles/org.eclipse.e4.ui.css.core/META-INF/MANIFEST.MF + # Use javax.servlet-api (Glassfish) instead of javax.servlet (Tomcat) find -name feature.xml | xargs sed -i -e 's|"javax.servlet"|"javax.servlet-api"|' sed -i -e "2iRequire-Bundle: javax.servlet-api" rt.equinox.bundles/bundles/org.eclipse.equinox.http.{jetty,servlet}/META-INF/MANIFEST.MF @@ -664,19 +606,16 @@ sed -i -e '/org.apache.felix.service.command/s/;status=provisional//' rt.equinox # Remove generated files not present during bootstrap build # org.eclipse.platform.doc.isv, org.eclipse.jdt.doc.isv, org.eclipse.pde.doc.user %if %{bootstrap} -sed -i '18,47d' eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/assembly/assembly.xml +sed -i '22,51d' eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/assembly/assembly.xml %endif -# Relax dep on objectweb-asm -sed -i -e '/org.objectweb.asm/s/;.*"//' \ - eclipse.pde.ui/apitools/org.eclipse.pde.api.tools{,.generator,.tests}/META-INF/MANIFEST.MF - # Use system osgi.annotation lib ln -s $(build-classpath osgi-annotation) rt.equinox.framework/bundles/org.eclipse.osgi/osgi/ ln -s $(build-classpath osgi-annotation) rt.equinox.framework/bundles/org.eclipse.osgi.services/lib/ ln -s $(build-classpath osgi-annotation) rt.equinox.framework/bundles/org.eclipse.osgi.util/lib/ ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet/osgi/ ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse.equinox.coordinator/lib/ +ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse.equinox.log.stream/osgi/ # The order of these mvn_package calls is important %mvn_package "::pom::" __noinstall @@ -1131,6 +1070,11 @@ fi %{_eclipsedir}/plugins/org.eclipse.osgi.util_* %changelog +* Tue Apr 24 2018 Mat Booth - 1:4.8.0-0.1 +- Update to Photon I-build +- Remove conditional for webkit2 (always use it now) +- Bump requirement on lucene + * Tue Apr 10 2018 Mat Booth - 1:4.7.3a-4 - Ensure patches apply cleanly - Use java API stubs from ecj package @@ -1266,416 +1210,3 @@ fi - Don't build unsupported GTK2 backend for SWT - Move installation to a multilib agnostic location /usr/lib -* Mon Apr 03 2017 Mat Booth - 1:4.6.3-3 -- Build missing remote ant support jar - -* Fri Mar 03 2017 Mat Booth - 1:4.6.3-2 -- Re-enable test-framework for platform tests -- Drop long-time broken efj script - -* Fri Feb 24 2017 Mat Booth - 1:4.6.3-1 -- Update to Neon.3 -- Upstreamed some changes from RHSCL - -* Wed Feb 08 2017 Roland Grunberg - 1:4.6.2-7 -- Hide the p2 Droplets from the Available Software Sites listing. -- Guard against null URI path in droplet check for Install Wizard Combo. -- Resolves: rhbz#1413778, rhbz#1420225 - -* Wed Jan 25 2017 Roland Grunberg - 1:4.6.2-6 -- Fix bug in p2 Droplet detection of feature groups. - -* Tue Jan 24 2017 Roland Grunberg - 1:4.6.2-5 -- Hide the p2 Droplets from cluttering Install Wizard Combo. -- Resolves: rhbz#1413778 - -* Mon Jan 16 2017 Mat Booth - 1:4.6.2-4 -- Fix last javax.annotation reference - -* Wed Jan 11 2017 Mat Booth - 1:4.6.2-3 -- Drop dep on javax.annotation APIs, these should instead be provided by the JRE - through the system bundle - rhbx#1392150 - -* Tue Jan 10 2017 Mat Booth - 1:4.6.2-2 -- Non-bootstrap build - -* Fri Jan 06 2017 Mat Booth - 1:4.6.2-1 -- Update to Neon.2 -- Bootstrap build due to ant update -- Port to new ant version -- Rebuild for ECF update -- Pull in usage plugin by default - -* Mon Dec 05 2016 Mat Booth - 1:4.6.1-7 -- Rebuild for new xz-java - -* Wed Nov 09 2016 Mat Booth - 1:4.6.1-6 -- Increase minimum memory for Eclipse/devstudio -- Enable nashorn extension for javascript tools/devstudio -- Resolves: rhbz#1380438 - -* Thu Oct 13 2016 Mat Booth - 1:4.6.1-5 -- Fix build with new Glassfish EL packages -- Patch to prefer x11 until wayland support improves - -* Thu Sep 29 2016 Alexander Kurtakov 1:4.6.1-4 -- Bump for rebuild. - -* Thu Sep 15 2016 Dennis Gilmore - 1:4.6.1-3 -- set the bootstap macro to 0 - -* Thu Sep 15 2016 Mat Booth - 1:4.6.1-2 -- Perform non-bootstrap build -- Rebuild for new eclipse-ecf - -* Wed Sep 14 2016 Mat Booth - 1:4.6.1-1 -- Update to Neon.1 release. -- Set qualifiers at source-modification-time instead of build-time, to - eliminate descrepancies between architectures, rhbz#1374938 -- Set bootstrap flag for new primary architecture. - -* Fri Sep 2 2016 Alexander Kurtakov 1:4.6.0-7 -- Rebuild for latest jsch. - -* Thu Aug 18 2016 Roland Grunberg - 1:4.6.0-6 -- Disable droplets being loaded by the reconciler. -- Fix possible NPE in droplet p2.runnable property check. - -* Fri Aug 05 2016 Roland Grunberg - 1:4.6.0-5 -- Improve 'p2.runnable' check in ExtensionLocationArtifactRepository. - -* Wed Aug 03 2016 Roland Grunberg - 1:4.6.0-4 -- Add missing droplets logic to the EngineActivator. -- Restore 'p2.runnable' property for droplets. - -* Wed Jul 13 2016 Roland Grunberg - 1:4.6.0-3 -- Update eclipse-pde-tp-support-droplets.patch to handle source bundles. -- Change PopupDialog from SWT.COLOR_INFO* to SWT.COLOR_LIST*. - -* Thu Jun 16 2016 Alexander Kurtakov 1:4.6.0-2 -- BR rhino and it's buildtime deps to unbreak build. - -* Tue Jun 14 2016 Mat Booth - 1:4.6.0-1 -- Update to Neon release - -* Tue May 10 2016 Mat Booth - 1:4.6.0-0.6.git201605092000 -- Update to latest I-build (M7) - -* Fri Apr 29 2016 Mat Booth - 1:4.6.0-0.5.git201604261105 -- Use webkit 2 by default, webkit 1 can still be used by setting SWT_WEBKIT2=0 - in the environment, rhbz#1303912 -- Ignore SWT.MOZILLA style when creating a browser widget and always use webkit - because we cannot ship xulrunner support, rhbz#1210898 -- Drop unneeded requires from tests package -- Add missing R on eclipse-filesystem to low-level sub-packages - -* Tue Apr 26 2016 Mat Booth - 1:4.6.0-0.4.git201604261105 -- Drop support for PDE building plug-ins in RPMs -- Update to latest Neon I-build -- Drop unnecessary SCL macros - -* Fri Apr 22 2016 Mat Booth - 1:4.6.0-0.3.git201604190800 -- Perform non-bootstrap build - -* Fri Apr 22 2016 Mat Booth - 1:4.6.0-0.2.git201604190800 -- PDE package cannot be noarch due to containing arch-specific source bundles - -* Tue Apr 19 2016 Mat Booth - 1:4.6.0-0.1.git201604190800 -- Update to Neon I-build (bootstrap build) -- Drop upstreamed patches -- Install all plugins with xmvn -- JDT and PDE are now able to be noarch packages - -* Sat Apr 16 2016 Mat Booth - 1:4.5.2-10 -- Rebuild for new ECF - -* Thu Apr 07 2016 Roland Grunberg - 1:4.5.2-9 -- Support reading BundleInfo from p2 Droplets enabled installations. - -* Tue Mar 29 2016 Mat Booth - 1:4.5.2-8 -- Backport patch for ebz#486069, NPE in SWT when running on Wayland -- Eliminate more test failures due to missing resources - -* Fri Mar 25 2016 Mat Booth - 1:4.5.2-7 -- Update e-b snapshot for updated ant dependency - -* Thu Mar 24 2016 Mat Booth - 1:4.5.2-6 -- Fix failure to run tests and backport patch for ebz#489953 in order to fix - some unit tests - -* Wed Mar 16 2016 Mat Booth - 1:4.5.2-5 -- Rebuild for ECF and disable the build of some bundles that are not shipped - -* Fri Mar 04 2016 Mat Booth - 1:4.5.2-4 -- Backport patch for ebz#488226 for incorrect content assist colors, - fixes rhbz#1253651 and rhbz#1196736 -- Fix broken link to mockito in tests - -* Wed Mar 02 2016 Mat Booth - 1:4.5.2-3 -- Fix mis-named Java 1.9 profile - -* Mon Feb 29 2016 Mat Booth - 1:4.5.2-2 -- Fix Lucene patch on F22 - -* Mon Feb 29 2016 Mat Booth - 1:4.5.2-1 -- Update to Mars.2 release -- Update eclipse-build snapshot - -* Mon Feb 29 2016 Michael Simacek - 1:4.5.1-17 -- Rebuild for lucene-5.5.0 - -* Mon Feb 29 2016 Mikolaj Izdebski - 1:4.5.1-16 -- Rebuild for httpcomponents-client 4.5.2 - -* Thu Feb 25 2016 Mat Booth - 1:4.5.1-15 -- Make BRs portable (thanks to Nicolas Lécureuil) - -* Wed Feb 24 2016 Roland Grunberg - 1:4.5.1-14 -- Gracefully handle broken symbolic links on initialization. - -* Wed Feb 17 2016 Mat Booth - 1:4.5.1-13 -- Preserve more test data that we cannot generate from source -- Eliminate unnecessary manual requires from swt package - -* Wed Feb 17 2016 Mat Booth - 1:4.5.1-12 -- Make test framework correctly delete symlinks so that test suites may complete - when e.g. pydev is installed rhbz#1290685 -- Backport patch to fix a webkit crash ebz#487712 - -* Mon Feb 08 2016 Mat Booth - 1:4.5.1-11 -- Fix java declaration view rhbz#1305107 - -* Wed Feb 03 2016 Mat Booth - 1:4.5.1-10 -- Fix symlinks for new lucene -- Use %%global instead of %%define and other macro improvements - -* Wed Feb 03 2016 Fedora Release Engineering - 1:4.5.1-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Thu Jan 21 2016 Alexander Kurtakov 1:4.5.1-8 -- Rebuild for Lucene 5.4.0. - -* Mon Jan 04 2016 Roland Grunberg - 1:4.5.1-7 -- [GTK3.16+] gtk_widget_override_background_color is deprecated. -- [GTK3] Eclipse IDE consumes CPU when idle -- [GTK] Empty repositories view links have white backgrounds -- Resolves: rhbz#1294697, rhbz#1269892 -- ebz#483096, ebz#484696, ebz#484729 - -* Sat Dec 05 2015 Mat Booth - 1:4.5.1-6 -- Fix issues with background colour in some dialogs -- ebz#478962, ebz#479998 -- Rebuild for new eclipse-ecf -- Preserve jars containing runtime stubs used in tests - -* Fri Nov 27 2015 Mat Booth - 1:4.5.1-5 -- Fix some visual glitches when on recent versions of GTK -- ebz#466314, ebz#481122, ebz#466500 - -* Tue Nov 03 2015 Roland Grunberg - 1:4.5.1-4 -- Fix "Workspace chooser won't launch" on Wayland. -- Resolves: rhbz#1277594 - -* Mon Nov 2 2015 Mikolaj Izdebski - 1:4.5.1-3 -- Rebuild for new eclipse-ecf - -* Tue Oct 13 2015 Mat Booth - 1:4.5.1-2 -- Add patch for editor scrolling problem, rhbz#1198217 - -* Wed Sep 30 2015 Mat Booth - 1:4.5.1-1 -- Update to Mars.1 -- Fix JDT javafx and annotation processor tests - -* Wed Sep 16 2015 Mikolaj Izdebski - 1:4.5.0-19 -- Rebuild for new eclipse-ecf - -* Wed Sep 9 2015 Mikolaj Izdebski - 1:4.5.0-18 -- Rebuild for new eclipse-ecf - -* Mon Sep 07 2015 Michael Simacek - 1:4.5.0-17 -- Rebuild for httpcomponents-core-4.4.2 - -* Tue Sep 01 2015 Roland Grunberg - 1:4.5.0-16 -- Modify copy-platform script to support p2 Droplets. - -* Thu Aug 27 2015 Roland Grunberg - 1:4.5.0-15 -- Add support for p2 Droplets. - -* Wed Aug 26 2015 Mat Booth - 1:4.5.0-14 -- Rebuild for new ECF - -* Thu Aug 20 2015 Mat Booth - 1:4.5.0-13 -- Add patch for rhbz#1255150 -- Always use UTC timestamps to prevent rpmdiff failures -- Move eclipse provides away from PDE rhbz#1253898 - -* Tue Aug 11 2015 Mat Booth - 1:4.5.0-12 -- Rebuild for new ECF - -* Thu Aug 6 2015 Alexander Kurtakov 1:4.5.0-11 -- Update to newer e-b snapshot fixing appdata validation. - -* Thu Jul 30 2015 Mat Booth - 1:4.5.0-10 -- Preserve JDT core test data - -* Wed Jul 22 2015 Roland Grunberg - 1:4.5.0-9 -- Fix JDT Feature path for TargetDefinitionPersistenceTests (PDE) -- SimpleConfiguratorUtils should handle base == null for tests -- Locate the compressed platform archive for p2 AbstractReconcilerTest - -* Mon Jul 20 2015 Mat Booth - 1:4.5.0-8 -- Disable tests for Eclipse 2.x style plug-in support that we don't ship - -* Fri Jul 17 2015 Alexander Kurtakov 1:4.5.0-7 -- Less PermSize settings - simply ignored in Java 8. - -* Thu Jul 16 2015 Alexander Kurtakov 1:4.5.0-6 -- Eclipse.ini has no place in swt subpackage. - -* Wed Jul 15 2015 Sopot Cela 1:4.5.0-5 -- Replaced javax.annotation provider from geronimo to glassfish - -* Tue Jul 7 2015 Mikolaj Izdebski - 1:4.5.0-4 -- Add Maven metadata for SWT - -* Thu Jul 02 2015 Sopot Cela 1:4.5.0-3 -- Patch dark theme patch to work on rawhide - -* Wed Jul 01 2015 Mat Booth - 1:4.5.0-2 -- Organise BR/Rs and drop ancient provides/obsoletes on rcp package - -* Fri Jun 26 2015 Alexander Kurtakov 1:4.5.0-1 -- Update to tagged 4.5 release. -- Switch to new e-b snapshot that properly symlinks all new deps. - -* Thu Jun 25 2015 Alexander Kurtakov 1:4.5.0-0.33.git201506012000 -- Rebuild to include all deps of Lucene. - -* Wed Jun 24 2015 Alexander Kurtakov 1:4.5.0-0.32.git201506012000 -- Non-boostrap build. - -* Tue Jun 23 2015 Alexander Kurtakov 1:4.5.0-0.31.git201506012000 -- Rebuild against Lucene 5.x in bootstrap mode. - -* Fri Jun 19 2015 Roland Grunberg - 1:4.5.0-0.30.git201506012000 -- Fix Eclipse test framework. - -* Fri Jun 19 2015 Alexander Kurtakov 1:4.5.0-0.29.git201506012000 -- Rebuild after the F23 mass rebuild to get metadata correct. - -* Mon Jun 15 2015 Mat Booth - 1:4.5.0-0.28.git201506012000 -- Non-bootstrap build - -* Thu Jun 11 2015 Mat Booth - 1:4.5.0-0.27.git201506012000 -- Include p2 directives for non-upstream arches - -* Wed Jun 10 2015 Alexander Kurtakov 1:4.5.0-0.26.git201506012000 -- Add patch for stricter feature packaging. -- Avoid incorrect servlet-api when building on F22 -- Add recommends on e4-importer -- Bootstrap build to get the ball rolling again. - -* Thu Jun 04 2015 Michael Simacek - 1:4.5.0-0.25.git201506012000 -- Rebuild after ecf rebuild - -* Tue Jun 02 2015 Mat Booth - 1:4.5.0-0.24.git201506012000 -- Fix pattern matching for x86/x86_64 arches - -* Tue Jun 02 2015 Mat Booth - 1:4.5.0-0.23.git201506012000 -- Update to latest I-build -- Don't build contributor tools with external deps during bootstrap builds -- Build only for the current architecture -- Rebuild for EMF update - -* Sun May 31 2015 Alexander Kurtakov 1:4.5.0-0.22.git201505272010 -- Rebuild after emf change. - -* Fri May 29 2015 Alexander Kurtakov 1:4.5.0-0.21.git201505272010 -- Fix building without tomcat-servlet again. - -* Fri May 29 2015 Alexander Kurtakov 1:4.5.0-0.20.git201505272010 -- BR gcc not gcc-c++ as there is no cpp sources built. - -* Thu May 28 2015 Alexander Kurtakov 1:4.5.0-0.19.git201505272010 -- Update to latest I-build -- Require latest egit for the releng tools. - -* Tue May 19 2015 Alexander Kurtakov 1:4.5.0-0.18.git201505172000 -- Update to latest I-build. -- Drop unneeded env variable export. - -* Wed May 13 2015 Mat Booth - 1:4.5.0-0.17.git201505122100 -- Rebuild for ECF 3.10.0 -- Update to latest I-build - -* Tue May 05 2015 Mat Booth - 1:4.5.0-0.16.git201505042000 -- Update to latest I-build to fix bundle dep cycle in PDE builds -- Add test framework to contributor tools subpackage -- Update eclipse-build snapshot to symlink and require xz-java - -* Wed Apr 29 2015 Mat Booth - 1:4.5.0-0.15.git201504280100 -- Contibutor-tools subpackage should be archful due to native methods - -* Wed Apr 22 2015 Mat Booth - 1:4.5.0-0.14.git201504280100 -- Rebuilt to eliminate optional dependencies of jxpath -- Update to latest I-build - -* Wed Apr 08 2015 Mat Booth - 1:4.5.0-0.13.git201504081100 -- Update to latest I-build -- Update eclipse-build snapshot -- Simplify installation of PDE build scripts -- Drop upstreamed hamcrest patch - -* Wed Apr 01 2015 Mat Booth - 1:4.5.0-0.12.git201503310800 -- Organise patches - -* Wed Apr 01 2015 Mat Booth - 1:4.5.0-0.11.git201503310800 -- Begin using mvn_install for installing dropins -- This allows us to make sub-packages noarch - -* Tue Mar 31 2015 Mat Booth - 1:4.5.0-0.10.git201503310800 -- Update for latest I-build -- New sub-package for contributor-tools -- Unbundle osgi.annotations compile time dep -- Rebuild for new eclipse-ecf/httpcomponents -- Revert "Use better AppData screenshots" this is fixed upstream -- Update eclipse-build snapshot - -* Tue Mar 31 2015 Mikolaj Izdebski - 1:4.5.0-0.9.git201503172000 -- Rebuild for eclipse-ecf update - -* Mon Mar 30 2015 Richard Hughes - 1:4.5.0-0.8.git201503172000 -- Use better AppData screenshots - -* Wed Mar 25 2015 Michael Simacek - 1:4.5.0-0.7.git201503172000 -- Rebuild for jetty update - -* Thu Mar 19 2015 Mikolaj Izdebski - 1:4.5.0-0.6.git201503172000 -- Rebuild for eclipse-ecf update - -* Tue Mar 17 2015 Mat Booth - 1:4.5.0-0.5.git201503172000 -- Update to latest I-build - -* Wed Mar 04 2015 Mat Booth - 1:4.5.0-0.4.git201503030800 -- Update to latest I-build -- JDT requires only hamcrest-core -- Rebuild for SR2 release of EMF - -* Wed Feb 25 2015 Mat Booth - 1:4.5.0-0.3.git201502240800 -- Update to latest I-build -- Require jetty 9.2.9 -- Fix arm-build - -* Wed Feb 18 2015 Mat Booth - 1:4.5.0-0.2.git201502170800 -- Update to latest I-build -- Unbundle third party libs from tests subpackage rhbz#1150185 -- Rebuild for new eclipse-ecf/httpcomponents - -* Fri Jan 30 2015 Mat Booth - 1:4.5.0-0.1.git201502100800 -- Update to latest 4.5.0 I-build -- Drop upstreamed jetty9/servlet and workspace picker patches -- Drop upstreamed patches for bug 903537 and bug 444143 -- Update eclipse-build snapshot for ant dependency -- Ship missing features used by some other projects' target platform -- Build with mvn_build macro -- Some spec file clean-up diff --git a/fix-x11-crash-ebz527693.patch b/fix-x11-crash-ebz527693.patch deleted file mode 100644 index 3a796f3..0000000 --- a/fix-x11-crash-ebz527693.patch +++ /dev/null @@ -1,53 +0,0 @@ -From fa50d3f2eca0386f99312210ce0d759d45631ef4 Mon Sep 17 00:00:00 2001 -From: Alexander Kurtakov -Date: Mon, 27 Nov 2017 14:26:02 +0200 -Subject: Bug 527693 - [Wayland] TextTransfer crash (libX11.so) due to an x11 - call gdk_x11_display_utf8_to_compound_text - -Compound text is dead technology and fully obsoleted by UTF actually. Do -not claim support for it if not on X11. This should fix the crash. - -Change-Id: Id4df68bc3e2052eee88f22a3b06c94537cc6899a -Signed-off-by: Alexander Kurtakov ---- - .../gtk/org/eclipse/swt/dnd/TextTransfer.java | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/eclipse.platform.swtbundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java -index 5da8f52..6148efb 100644 ---- a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java -+++ b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java -@@ -72,7 +72,7 @@ public void javaToNative (Object object, TransferData transferData) { - } - String string = (String)object; - byte[] utf8 = Converter.wcsToMbcs (string, true); -- if (transferData.type == COMPOUND_TEXT_ID) { -+ if (OS.isX11() && transferData.type == COMPOUND_TEXT_ID) { - long /*int*/[] encoding = new long /*int*/[1]; - int[] format = new int[1]; - long /*int*/[] ctext = new long /*int*/[1]; -@@ -136,12 +136,18 @@ public Object nativeToJava(TransferData transferData){ - - @Override - protected int[] getTypeIds() { -- return new int[] {UTF8_STRING_ID, COMPOUND_TEXT_ID, STRING_ID}; -+ if (OS.isX11()) { -+ return new int[] {UTF8_STRING_ID, COMPOUND_TEXT_ID, STRING_ID}; -+ } -+ return new int[] {UTF8_STRING_ID, STRING_ID}; - } - - @Override - protected String[] getTypeNames() { -- return new String[] {UTF8_STRING, COMPOUND_TEXT, STRING}; -+ if (OS.isX11()) { -+ return new String[] {UTF8_STRING, COMPOUND_TEXT, STRING}; -+ } -+ return new String[] {UTF8_STRING, STRING}; - } - - boolean checkText(Object object) { --- -cgit v1.1 - - diff --git a/get-eclipse.sh b/get-eclipse.sh index 0ae3d74..5c77d06 100755 --- a/get-eclipse.sh +++ b/get-eclipse.sh @@ -1,7 +1,7 @@ #!/bin/bash set -e AGGREGATOR_PATH=git://git.eclipse.org/gitroot/platform/eclipse.platform.releng.aggregator.git -TAG=S4_7_3_aRC2 +TAG=I20180423-2000 rm -rf R4_platform-aggregator-$TAG rm -rf R4_platform-aggregator-$TAG.tar.xz diff --git a/sources b/sources index 4765365..aa30daa 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (org.eclipse.linuxtools.eclipse-build-81122c55c72d9e308302c878f642f93c39507436.tar.xz) = 170d6801fd2c2f5f95c4d79cb14e36bb5db63142a52cafea81656f63dd132cf1a5b52b945fa0f85d4eed21ed660d22f46d2cdf9cde86e08fed06b16e9a22ed51 -SHA512 (R4_platform-aggregator-S4_7_3_aRC2.tar.xz) = b593896a043dd25bac2d9f7938c3866107a86ca0f67269159fa64a635cba31c8c1c414ff6fb74f9f3650d21b94c4f24757608a29f1ee334438c85edbc30d284d +SHA512 (R4_platform-aggregator-I20180423-2000.tar.xz) = a86451382cb0a66f88293920064e886cf053737605a5d968d911890c8665f1a02dcec2da06e3e81ef701fb12cdeaa95dd2d47a8a995f7bc67db8d8b6bcbfe268