this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix MapEditor freeze generating thumbnails on Linux

Trying to do any Swing stuff while the LoadingBar is up causes a
deadlock

+28 -8
+28 -8
src/main/java/game/map/editor/MapEditor.java
··· 741 741 if (newMap == null) 742 742 return; 743 743 744 + thumbnailMode = true; 744 745 openMap(newMap, true); 745 746 for (MapObject obj : getCollisionMap().colliderTree) 746 747 obj.hidden = true; ··· 1002 1003 generateFromPathsPreview.init(); 1003 1004 drawGeometryPreview.init(); 1004 1005 1005 - if (changeMapState == ChangeMapState.NONE) { 1006 + if (changeMapState == ChangeMapState.NONE && !thumbnailMode) { 1006 1007 hDivRatio = 0.5f; 1007 1008 vDivRatio = 0.5f; 1008 1009 ··· 1039 1040 uvViews[0] = perspectiveView; 1040 1041 uvViews[1] = uvEditView; 1041 1042 1042 - if (changeMapState == ChangeMapState.NONE) { 1043 + if (changeMapState == ChangeMapState.NONE && !thumbnailMode) { 1043 1044 mainViewMode = ViewMode.FOUR; 1044 1045 setViewMode(mainViewMode); 1045 1046 resizeViews(); ··· 1073 1074 1074 1075 gui.updateSnapLabel(); 1075 1076 } 1077 + else if (thumbnailMode) { 1078 + activeView = perspectiveView; 1079 + mainViewMode = ViewMode.ONE; 1080 + setViewMode(ViewMode.ONE); 1081 + objectGrid = new Grid(false, 4); 1082 + grid = objectGrid; 1083 + dummyCameraController = new CameraController(); 1084 + showModels = true; 1085 + showColliders = true; 1086 + showZones = true; 1087 + showMarkers = true; 1088 + } 1076 1089 1077 1090 canDoNudgeTranslation = true; 1078 1091 doingNudgeTranslation = false; ··· 1087 1100 selectionManager = new SelectionManager(this); 1088 1101 commandManager = new CommandManager(UNDO_LIMIT, this::onModified); 1089 1102 1090 - if (changeMapState == ChangeMapState.NONE) { 1103 + if (changeMapState == ChangeMapState.NONE && !thumbnailMode) { 1091 1104 showModels = true; 1092 1105 showColliders = true; 1093 1106 showZones = true; ··· 1127 1140 // switch to modify mode, bootstrap if necessary 1128 1141 if (lastModeChange == null) 1129 1142 lastModeChange = new ChangeMode(EditorMode.Modify); 1130 - ChangeMode resetMode = new ChangeMode(EditorMode.Modify); 1131 - resetMode.silence(); 1132 - resetMode.exec(); 1143 + if (!thumbnailMode) { 1144 + ChangeMode resetMode = new ChangeMode(EditorMode.Modify); 1145 + resetMode.silence(); 1146 + resetMode.exec(); 1147 + } 1148 + else { 1149 + editorMode = EditorMode.Modify; 1150 + } 1133 1151 1134 1152 guiEventQueue = new LinkedBlockingQueue<>(); 1135 1153 keyEventQueue = new LinkedBlockingQueue<>(); ··· 3997 4015 loadMapResourcesAfterTextures(); 3998 4016 loadOverrides(); 3999 4017 4000 - updateRecentMaps(); 4001 - gui.setRecentMaps(recentMaps); 4018 + if (!thumbnailMode) { 4019 + updateRecentMaps(); 4020 + gui.setRecentMaps(recentMaps); 4021 + } 4002 4022 4003 4023 resetEditorSettings(); 4004 4024 map.initializeAllObjects();