[BROWSEUI] Properly fix CORE-13003 "Explorer address bar display problem"
authorJoachim Henze <Joachim.Henze@reactos.org>
Sat, 1 Dec 2018 13:26:33 +0000 (14:26 +0100)
committerJoachim Henze <Joachim.Henze@reactos.org>
Sat, 1 Dec 2018 13:26:33 +0000 (14:26 +0100)
The patches author is Doug Lyons. Thank you very much!
The patch is an addendum to 0.4.9-dev-732-g
ea0cc1c7831dbe7dec31f4f495befb5dfa90ab5c

dll/win32/browseui/addressband.cpp
dll/win32/browseui/addressband.h

index 54b0480..8207734 100644 (file)
@@ -43,7 +43,6 @@ CAddressBand::CAddressBand()
     fGoButton = NULL;
     fComboBox = NULL;
     fGoButtonShown = false;
-    fAdjustNeeded = 0;
 }
 
 CAddressBand::~CAddressBand()
@@ -65,6 +64,7 @@ void CAddressBand::FocusChange(BOOL bFocus)
 
 HRESULT STDMETHODCALLTYPE CAddressBand::GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO *pdbi)
 {
+    if (!m_hWnd || !pdbi)  return E_FAIL;  /* Verify window exists */
     if (pdbi->dwMask & DBIM_MINSIZE)
     {
         if (fGoButtonShown)
@@ -467,8 +467,6 @@ LRESULT CAddressBand::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHan
     long                                    newHeight;
     long                                    newWidth;
 
-    fAdjustNeeded = 1;
-
     if (fGoButtonShown == false)
     {
         bHandled = FALSE;
@@ -524,23 +522,6 @@ LRESULT CAddressBand::OnWindowPosChanging(UINT uMsg, WPARAM wParam, LPARAM lPara
     newHeight = positionInfoCopy.cy;
     newWidth = positionInfoCopy.cx;
 
-/*
-    Sometimes when we get here newWidth = 100 which comes from GetBandInfo and is less than the 200 that we need.
-    We need room for the "Address" text (50 pixels), the "GoButton" (50 pixels), the left and right borders (30 pixels)
-    the icon (20 pixels) and the ComboBox (50 pixels) for handling the text of the current directory. This is 200 pixels.
-    When newWidth = 100 the Addressband ComboBox will only have a single character because it becomes 2 pixels wide.
-    The hack below readjusts the width to the minimum required to allow seeing the whole text and prints out a debug message.
-*/
-
-    if ((newWidth < 200) && (newWidth != 0))
-    {
-        if (fAdjustNeeded == 1)
-        {
-            ERR("CORE-13003 HACK: Addressband ComboBox width readjusted from %ld to 200.\n", newWidth);
-            newWidth = 200;
-            fAdjustNeeded = 0;
-        }
-    }
     SendMessage(fGoButton, TB_GETITEMRECT, 0, reinterpret_cast<LPARAM>(&buttonBounds));
 
     buttonWidth = buttonBounds.right - buttonBounds.left;
index c4fd006..465e1ab 100644 (file)
@@ -43,7 +43,6 @@ private:
     bool                                    fGoButtonShown;
     HIMAGELIST                              m_himlNormal;
     HIMAGELIST                              m_himlHot;
-    INT                                     fAdjustNeeded;
 
 public:
     CAddressBand();