From 5677f932360a27ac1e89abd2d838e2e5b3adbc8f Mon Sep 17 00:00:00 2001 From: Syres916 <46537884+Syres916@users.noreply.github.com> Date: Sun, 3 Dec 2023 14:48:35 +0000 Subject: [PATCH] [Start] Fix regression from https://github.com/FreeCAD/FreeCAD/commit/2b6662c896f8207e7bd7e82c6816202f40a5e97b for runtime error see https://github.com/FreeCAD/FreeCAD/pull/11513#issuecomment-1837300296 --- src/Mod/Start/Gui/Workbench.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/Mod/Start/Gui/Workbench.cpp b/src/Mod/Start/Gui/Workbench.cpp index e5f792af1c..ca7a37a6ef 100644 --- a/src/Mod/Start/Gui/Workbench.cpp +++ b/src/Mod/Start/Gui/Workbench.cpp @@ -76,7 +76,7 @@ void StartGui::Workbench::loadStartPage() std::string escapedstr = Base::Tools::escapedUnicodeFromUtf8(utf8Title); std::stringstream str; str << "import WebGui,sys,Start\n" - << "from PySide import QtCore\n" + << "from PySide import QtCore, QtGui\n" << "from StartPage import StartPage\n\n" << "class WebPage(object):\n" << " def __init__(self):\n" @@ -95,14 +95,25 @@ void StartGui::Workbench::loadStartPage() << " except RuntimeError as e:\n" << " pass\n" << " def reload(self):\n" + << " startOpen = False\n" + << " title = QtGui.QApplication.translate('Workbench', 'Start page')\n" + << " mw = FreeCADGui.getMainWindow()\n" + << " if mw:\n" + << " mdi = mw.findChild(QtGui.QMdiArea)\n" + << " if mdi:\n" + << " for mdichild in mdi.children():\n" + << " for subw in mdichild.findChildren(QtGui.QMdiSubWindow):\n" + << " if subw.windowTitle() == title:\n" + << " startOpen = True\n" + << " if startOpen:\n" // if the user has closeStart set to True a Runtime Error + // is raised if a simple Preferences change is made #if defined(FC_OS_WIN32) - << " self.browser.setHtml(StartPage.handle(), App.getResourceDir() + " + << " self.browser.setHtml(StartPage.handle(), App.getResourceDir() + " "'Mod/Start/StartPage/')\n\n" #else - << " self.browser.setHtml(StartPage.handle(), 'file://' + " + << " self.browser.setHtml(StartPage.handle(), 'file://' + " "App.getResourceDir() + 'Mod/Start/StartPage/')\n\n" #endif - << "class WebView(object):\n" << " def __init__(self):\n" << " self.pargrp = FreeCAD.ParamGet('User "