浏览代码

[ide] Only reload the editor when switching projects

- Fix loader errors when switching project because the loader changed before the editor was fully reloaded
Clément Espeute 5 月之前
父节点
当前提交
edabe607cf
共有 1 个文件被更改,包括 7 次插入5 次删除
  1. 7 5
      hide/Ide.hx

+ 7 - 5
hide/Ide.hx

@@ -141,6 +141,7 @@ class Ide extends hide.tools.IdeData {
 		}
 		}
 
 
 		setProject(current);
 		setProject(current);
+		loadProject();
 		window.window.document.addEventListener("mousedown", function(e) {
 		window.window.document.addEventListener("mousedown", function(e) {
 			mouseX = e.x;
 			mouseX = e.x;
 			mouseY = e.y;
 			mouseY = e.y;
@@ -663,9 +664,8 @@ class Ide extends hide.tools.IdeData {
 		globalMessage(e, timeoutSeconds);
 		globalMessage(e, timeoutSeconds);
 	}
 	}
 
 
-	override function setProject( dir : String ) {
-		super.setProject(dir);
-
+	function loadProject() {
+		var dir = ideConfig.currentProject;
 		setProgress();
 		setProgress();
 		shaderLoader = new hide.tools.ShaderLoader();
 		shaderLoader = new hide.tools.ShaderLoader();
 		hxsl.Cache.clear();
 		hxsl.Cache.clear();
@@ -1223,7 +1223,8 @@ class Ide extends hide.tools.IdeData {
 				continue;
 				continue;
 			}
 			}
 			new Element("<menu>").attr("label",v).appendTo(menu.find(".project .recents")).click(function(_){
 			new Element("<menu>").attr("label",v).appendTo(menu.find(".project .recents")).click(function(_){
-				setProject(v);
+				var dir = v;
+				setProject(dir);
 				reload(); // Reload stylesheets
 				reload(); // Reload stylesheets
 			});
 			});
 		}
 		}
@@ -1233,6 +1234,7 @@ class Ide extends hide.tools.IdeData {
 				if( StringTools.endsWith(dir,"/res") || StringTools.endsWith(dir,"\\res") )
 				if( StringTools.endsWith(dir,"/res") || StringTools.endsWith(dir,"\\res") )
 					dir = dir.substr(0,-4);
 					dir = dir.substr(0,-4);
 				setProject(dir);
 				setProject(dir);
+				reload();
 			}, true);
 			}, true);
 		});
 		});
 		menu.find(".project .clear").click(function(_) {
 		menu.find(".project .clear").click(function(_) {
@@ -1265,7 +1267,7 @@ class Ide extends hide.tools.IdeData {
 				if( r != h3d.mat.MaterialSetup.current ) {
 				if( r != h3d.mat.MaterialSetup.current ) {
 					projectConfig.renderer = name;
 					projectConfig.renderer = name;
 					config.user.save();
 					config.user.save();
-					setProject(ideConfig.currentProject);
+					reload();
 				}
 				}
 			});
 			});
 		}
 		}