[haiku-commits] haiku: hrev50405 - src/apps/webpositive

  • From: pulkomandy@xxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 10 Jul 2016 22:54:15 +0200 (CEST)

hrev50405 adds 1 changeset to branch 'master'
old head: ac30c586486721fcd1c553958ecd668c3e62f09e
new head: 8ba07614a4663500aad191d50917c56409be1e18
overview: 
http://cgit.haiku-os.org/haiku/log/?qt=range&q=8ba07614a466+%5Eac30c5864867

----------------------------------------------------------------------------

8ba07614a466: WebPositive: dont restore session if a ref is received
  
  Signed-off-by: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
  Fixes #12850

                                           [ Paradoxon <two4god@xxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev50405
Commit:      8ba07614a4663500aad191d50917c56409be1e18
URL:         http://cgit.haiku-os.org/haiku/commit/?id=8ba07614a466
Author:      Paradoxon <two4god@xxxxxxxxx>
Date:        Sat Jul  9 14:07:26 2016 UTC
Committer:   Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Commit-Date: Sun Jul 10 20:53:10 2016 UTC

Ticket:      https://dev.haiku-os.org/ticket/12850

----------------------------------------------------------------------------

1 file changed, 21 insertions(+), 18 deletions(-)
src/apps/webpositive/BrowserApp.cpp | 39 ++++++++++++++++++---------------

----------------------------------------------------------------------------

diff --git a/src/apps/webpositive/BrowserApp.cpp 
b/src/apps/webpositive/BrowserApp.cpp
index ef865af..0b4df79 100644
--- a/src/apps/webpositive/BrowserApp.cpp
+++ b/src/apps/webpositive/BrowserApp.cpp
@@ -231,29 +231,32 @@ BrowserApp::ReadyToRun()
                fLaunchRefsMessage = NULL;
        }
 
-       BMessage archivedWindow;
-       for (int i = 0; fSession->FindMessage("window", i, &archivedWindow) == 
B_OK;
-               i++) {
-
-               BRect frame = archivedWindow.FindRect("window frame");
-               BString url;
-               archivedWindow.FindString("tab", 0, &url);
-               BrowserWindow* window = new(std::nothrow) BrowserWindow(frame,
-                       fSettings, url, fContext);
-
-               if (window != NULL) {
-                       window->Show();
-                       pagesCreated++;
-
-                       for (int j = 1; archivedWindow.FindString("tab", j, 
&url) == B_OK;
-                               j++) {
-                               printf("Create %d:%d\n", i, j);
-                               _CreateNewTab(window, url, false);
+       // If no refs led to a new open page, restore previous session.
+       if (pagesCreated == 0) {
+               BMessage archivedWindow;
+               for (int i = 0; fSession->FindMessage("window", i, 
&archivedWindow) == B_OK;
+                       i++) {
+                       BRect frame = archivedWindow.FindRect("window frame");
+                       BString url;
+                       archivedWindow.FindString("tab", 0, &url);
+                       BrowserWindow* window = new(std::nothrow) 
BrowserWindow(frame,
+                               fSettings, url, fContext);
+
+                       if (window != NULL) {
+                               window->Show();
                                pagesCreated++;
+
+                               for (int j = 1; 
archivedWindow.FindString("tab", j, &url) == B_OK;
+                                       j++) {
+                                       printf("Create %d:%d\n", i, j);
+                                       _CreateNewTab(window, url, false);
+                                       pagesCreated++;
+                               }
                        }
                }
        }
 
+       // If previous session did not contain any window, create a new empty 
one.
        if (pagesCreated == 0)
                _CreateNewWindow("", fullscreen);
 


Other related posts: