File tree Expand file tree Collapse file tree 4 files changed +25
-14
lines changed
ui/component/editor/impl/material Expand file tree Collapse file tree 4 files changed +25
-14
lines changed Original file line number Diff line number Diff line change 1818import com .jme3 .post .filters .FXAAFilter ;
1919import com .jme3 .post .filters .ToneMapFilter ;
2020import com .jme3 .renderer .Camera ;
21+ import com .jme3 .renderer .RendererException ;
2122import com .jme3 .scene .Node ;
2223import com .jme3 .system .AppSettings ;
2324import com .jme3x .jfx .JmeFxContainer ;
@@ -356,6 +357,12 @@ public void update() {
356357 final WorkspaceManager workspaceManager = WorkspaceManager .getInstance ();
357358 workspaceManager .save ();
358359 System .exit (1 );
360+ } catch (final RendererException e ) {
361+ LOGGER .warning (e );
362+ final WorkspaceManager workspaceManager = WorkspaceManager .getInstance ();
363+ workspaceManager .clear ();
364+ workspaceManager .save ();
365+ System .exit (1 );
359366 } finally {
360367 syncUnlock (stamp );
361368 }
Original file line number Diff line number Diff line change @@ -91,6 +91,14 @@ public synchronized Workspace getWorkspace(final Path assetFolder) {
9191 return workspace ;
9292 }
9393
94+ /**
95+ * Очистить воркспейсы.
96+ */
97+ public synchronized void clear () {
98+ final ObjectDictionary <Path , Workspace > workspaces = getWorkspaces ();
99+ workspaces .forEach (Workspace ::save );
100+ }
101+
94102 /**
95103 * Сохранить воркспейсы.
96104 */
Original file line number Diff line number Diff line change @@ -194,14 +194,18 @@ private void incrementChanges() {
194194 changes .incrementAndGet ();
195195 }
196196
197+ /**
198+ * Очистка воркспейса.
199+ */
200+ public void clear () {
201+ getOpenedFiles ().clear ();
202+ }
203+
197204 /**
198205 * Сохранение состояния в файл.
199206 */
200207 public void save () {
201-
202- if (changes .get () == 0 ) {
203- return ;
204- }
208+ if (changes .get () == 0 ) return ;
205209
206210 final Path assetFolder = getAssetFolder ();
207211 final Path workspaceFile = assetFolder .resolve (WorkspaceManager .FOLDER_EDITOR ).resolve (WorkspaceManager .FILE_WORKSPACE );
Original file line number Diff line number Diff line change @@ -500,7 +500,6 @@ protected void createToolbar(final HBox container) {
500500 * Обработка смны Bucket типа.
501501 */
502502 private void changeBucketType (final RenderQueue .Bucket newValue ) {
503-
504503 final MaterialEditorState editorState = getEditorState ();
505504 editorState .changeBucketType (newValue );
506505 }
@@ -509,11 +508,7 @@ private void changeBucketType(final RenderQueue.Bucket newValue) {
509508 * Обработка смены типа материала.
510509 */
511510 private void changeType (final String newType ) {
512-
513- if (isIgnoreListeners ()) {
514- return ;
515- }
516-
511+ if (isIgnoreListeners ()) return ;
517512 processChangeTypeImpl (newType );
518513 }
519514
@@ -570,10 +565,7 @@ private ToggleButton getSphereButton() {
570565 * Обработка смены режима модели.
571566 */
572567 private void changeModelType (final ToggleButton button , final Boolean newValue ) {
573-
574- if (newValue == Boolean .FALSE ) {
575- return ;
576- }
568+ if (newValue == Boolean .FALSE ) return ;
577569
578570 final MaterialEditorState editorState = getEditorState ();
579571
You can’t perform that action at this time.
0 commit comments