浏览代码

Update to JDK 20

Ralph Plawetzki 1 年之前
父节点
当前提交
97cede12b7
共有 3 个文件被更改,包括 12 次插入12 次删除
  1. 1 1
      .idea/misc.xml
  2. 4 4
      pom.xml
  3. 7 7
      src/main/java/org/cryptomator/ui/traymenu/AppindicatorTrayMenuController.java

+ 1 - 1
.idea/misc.xml

@@ -8,7 +8,7 @@
       </list>
     </option>
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_19" default="true" project-jdk-name="19" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_X" project-jdk-name="20" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/out" />
   </component>
 </project>

+ 4 - 4
pom.xml

@@ -26,7 +26,7 @@
 
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-		<project.jdk.version>19</project.jdk.version>
+		<project.jdk.version>20</project.jdk.version>
 
 		<!-- Group IDs of jars that need to stay on the class path for now -->
 		<!-- Once hypfvieh, swiesend, purejava and integrations-linux have module-info, remove them-->
@@ -34,7 +34,7 @@
 
 		<!-- cryptomator dependencies -->
 		<cryptomator.cryptofs.version>2.6.2</cryptomator.cryptofs.version>
-		<cryptomator.integrations.version>1.3.0-SNAPSHOT</cryptomator.integrations.version>
+		<cryptomator.integrations.version>2.0.0</cryptomator.integrations.version>
 		<cryptomator.integrations.win.version>1.2.0</cryptomator.integrations.win.version>
 		<cryptomator.integrations.mac.version>1.2.0</cryptomator.integrations.mac.version>
 		<cryptomator.integrations.linux.version>1.2.0</cryptomator.integrations.linux.version>
@@ -48,14 +48,14 @@
 		<easybind.version>2.2</easybind.version>
 		<guava.version>31.1-jre</guava.version>
 		<gson.version>2.10.1</gson.version>
-		<javafx.version>19.0.2.1</javafx.version>
+		<javafx.version>20.0.1</javafx.version>
 		<jwt.version>4.3.0</jwt.version>
 		<nimbus-jose.version>9.31</nimbus-jose.version>
 		<logback.version>1.4.5</logback.version>
 		<slf4j.version>2.0.6</slf4j.version>
 		<tinyoauth2.version>0.5.1</tinyoauth2.version>
 		<zxcvbn.version>1.7.0</zxcvbn.version>
-		<appindicator.version>1.1.0</appindicator.version>
+		<appindicator.version>1.2.0</appindicator.version>
 
 		<!-- test dependencies -->
 		<junit.jupiter.version>5.9.2</junit.jupiter.version>

+ 7 - 7
src/main/java/org/cryptomator/ui/traymenu/AppindicatorTrayMenuController.java

@@ -13,8 +13,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.File;
-import java.lang.foreign.MemoryAddress;
-import java.lang.foreign.MemorySession;
+import java.lang.foreign.MemorySegment;
+import java.lang.foreign.SegmentScope;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.nio.file.Paths;
@@ -27,9 +27,9 @@ public class AppindicatorTrayMenuController implements TrayMenuController {
 
 	private static final Logger LOG = LoggerFactory.getLogger(AppindicatorTrayMenuController.class);
 
-	private final MemorySession session = MemorySession.openShared();
-	private MemoryAddress indicator;
-	private MemoryAddress menu = gtk_menu_new();
+	private final SegmentScope scope = SegmentScope.auto();
+	private MemorySegment indicator;
+	private MemorySegment menu = gtk_menu_new();
 
 	@CheckAvailability
 	public static boolean isAvailable() {
@@ -64,7 +64,7 @@ public class AppindicatorTrayMenuController implements TrayMenuController {
 
 	}
 
-	private void addChildren(MemoryAddress menu, List<TrayMenuItem> items) {
+	private void addChildren(MemorySegment menu, List<TrayMenuItem> items) {
 		for (var item : items) {
 			// TODO: use Pattern Matching for switch, once available
 			if (item instanceof ActionItem a) {
@@ -72,7 +72,7 @@ public class AppindicatorTrayMenuController implements TrayMenuController {
 				gtk_menu_item_set_label(gtkMenuItem, MemoryAllocator.ALLOCATE_FOR(a.title()));
 				g_signal_connect_object(gtkMenuItem,
 						MemoryAllocator.ALLOCATE_FOR("activate"),
-						MemoryAllocator.ALLOCATE_CALLBACK_FOR(new ActionItemCallback(a), session),
+						MemoryAllocator.ALLOCATE_CALLBACK_FOR(new ActionItemCallback(a), scope),
 						menu,
 						0);
 				gtk_menu_shell_append(menu, gtkMenuItem);