Showing the changes to interface/src/Application.cpp (1 of 2 files). Show all
Unified · Split
| @@ -326,7 +326,6 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer) : · 325 unmodified lines | ||
| 326 | 326 | _dependencyManagerIsSetup(setupEssentials(argc, argv)), |
| 327 | 327 | _window(new MainWindow(desktop())), |
| 328 | 328 | _toolWindow(NULL), |
| 329 | − _friendsWindow(NULL), | |
| 330 | 329 | _undoStackScriptingInterface(&_undoStack), |
| 331 | 330 | _frameCount(0), |
| 332 | 331 | _fps(60.0f), |
| @@ -4625,21 +4624,20 @@ void Application::activeChanged(Qt::ApplicationState state) { · 4292 unmodified lines | ||
| 4625 | 4624 | } |
| 4626 | 4625 | } |
| 4627 | 4626 | void Application::showFriendsWindow() { |
| 4627 | + const QString FRIENDS_WINDOW_OBJECT_NAME = "FriendsWindow"; | |
| 4628 | 4628 | const QString FRIENDS_WINDOW_TITLE = "Add/Remove Friends"; |
| 4629 | 4629 | const QString FRIENDS_WINDOW_URL = "https://metaverse.highfidelity.com/user/friends"; |
| 4630 | 4630 | const int FRIENDS_WINDOW_WIDTH = 290; |
| 4631 | 4631 | const int FRIENDS_WINDOW_HEIGHT = 500; |
| 4632 | − if (!_friendsWindow) { | |
| 4633 | − _friendsWindow = new WebWindowClass(FRIENDS_WINDOW_TITLE, FRIENDS_WINDOW_URL, FRIENDS_WINDOW_WIDTH, | |
| 4634 | − FRIENDS_WINDOW_HEIGHT, false); | |
| 4635 | − connect(_friendsWindow, &WebWindowClass::closed, this, &Application::friendsWindowClosed); | |
| 4632 | + auto webWindowClass = _window->findChildren<WebWindowClass>(FRIENDS_WINDOW_OBJECT_NAME); | |
| 4633 | + if (webWindowClass.empty()) { | |
| 4634 | + auto friendsWindow = new WebWindowClass(FRIENDS_WINDOW_TITLE, FRIENDS_WINDOW_URL, FRIENDS_WINDOW_WIDTH, | |
| 4635 | + FRIENDS_WINDOW_HEIGHT, false); | |
| 4636 | + friendsWindow->setParent(_window); | |
| 4637 | + friendsWindow->setObjectName(FRIENDS_WINDOW_OBJECT_NAME); | |
| 4638 | + connect(friendsWindow, &WebWindowClass::closed, &WebWindowClass::deleteLater); | |
| 4639 | + friendsWindow->setVisible(true); | |
| 4636 | 4640 | } |
| 4637 | − _friendsWindow->setVisible(true); | |
| 4638 | −} | |
| 4639 | − | |
| 4640 | −void Application::friendsWindowClosed() { | |
| 4641 | − delete _friendsWindow; | |
| 4642 | − _friendsWindow = NULL; | |
| 4643 | 4641 | } |
| 4644 | 4642 | |
| 4645 | 4643 | void Application::postLambdaEvent(std::function<void()> f) { |