From aeafe360480c3f49895111e13438d640b33b1d96 Mon Sep 17 00:00:00 2001
From: markt <markt>
Date: Sat, 12 May 2007 17:44:45 +0000
Subject: fixed tabs disappearing on reconfigure with [Deco] {TAB} and tabs in
 titlebar

---
 ChangeLog     |  4 ++++
 src/Screen.cc | 18 ++++--------------
 src/Window.cc |  4 +++-
 3 files changed, 11 insertions(+), 15 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index eb10656..dc89fbc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
  (Format: Year/Month/Day)
 Changes for 1.1:
+*07/05/12:
+   * Fixed tabs disappearing with [Deco] {TAB} and tabs in titlebar (Mark)
+     Window.cc Screen.cc
+*07/05/04:
    * Fixed infinite loop caused by deiconify command (Mark)
      FbCommands.cc
 *07/04/24:
diff --git a/src/Screen.cc b/src/Screen.cc
index 7bcd938..786daa1 100644
--- a/src/Screen.cc
+++ b/src/Screen.cc
@@ -1046,24 +1046,14 @@ void BScreen::reconfigureTabs() {
         if (!(*w_it)->windowList().empty()) {
             Workspace::Windows::iterator win_it = (*w_it)->windowList().begin();
             const Workspace::Windows::iterator win_it_end = (*w_it)->windowList().end();
-            for (; win_it != win_it_end; ++win_it) {
-                (*win_it)->frame().updateTabProperties();
-                if (*resource.default_internal_tabs)
-                    (*win_it)->frame().setTabMode(FbWinFrame::INTERNAL);
-                else
-                    (*win_it)->frame().setTabMode(FbWinFrame::EXTERNAL);
-            }
+            for (; win_it != win_it_end; ++win_it)
+                (*win_it)->applyDecorations();
         }
     }
     Icons::iterator icon_it = m_icon_list.begin();
     Icons::iterator icon_it_end = m_icon_list.end();
-    for (; icon_it != icon_it_end; ++icon_it) {
-        (*icon_it)->frame().updateTabProperties();
-        if (*resource.default_internal_tabs)
-            (*icon_it)->frame().setTabMode(FbWinFrame::INTERNAL);
-        else
-            (*icon_it)->frame().setTabMode(FbWinFrame::EXTERNAL);
-    }
+    for (; icon_it != icon_it_end; ++icon_it)
+        (*icon_it)->applyDecorations();
 }
 
 
diff --git a/src/Window.cc b/src/Window.cc
index cbbf7a4..a3999e3 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -3122,8 +3122,10 @@ void FluxboxWindow::applyDecorations(bool initial) {
     if (decorations.titlebar) {
         bool change = frame().showTitlebar();
         client_move |= change;
-        if (change && screen().getDefaultInternalTabs()) {
+        if (screen().getDefaultInternalTabs()) {
             client_move |= frame().setTabMode(FbWinFrame::INTERNAL);
+        } else {
+            client_move |= frame().setTabMode(FbWinFrame::EXTERNAL);
         }
     } else {
         client_move |= frame().hideTitlebar();
-- 
cgit v0.11.2