https://git.reactos.org/?p=reactos.git;a=commitdiff;h=3050d93deb5746edc5c12…
commit 3050d93deb5746edc5c124345c9131f3d483e6cb
Author: Joachim Henze <Joachim.Henze(a)reactos.org>
AuthorDate: Sat Dec 1 14:26:33 2018 +0100
Commit: Joachim Henze <Joachim.Henze(a)reactos.org>
CommitDate: Sat Dec 1 14:26:33 2018 +0100
[BROWSEUI] Properly fix CORE-13003 "Explorer address bar display problem"
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 | 21 +--------------------
dll/win32/browseui/addressband.h | 1 -
2 files changed, 1 insertion(+), 21 deletions(-)
diff --git a/dll/win32/browseui/addressband.cpp b/dll/win32/browseui/addressband.cpp
index 54b0480c6a..820773495f 100644
--- a/dll/win32/browseui/addressband.cpp
+++ b/dll/win32/browseui/addressband.cpp
@@ -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;
diff --git a/dll/win32/browseui/addressband.h b/dll/win32/browseui/addressband.h
index c4fd006ad6..465e1ab109 100644
--- a/dll/win32/browseui/addressband.h
+++ b/dll/win32/browseui/addressband.h
@@ -43,7 +43,6 @@ private:
bool fGoButtonShown;
HIMAGELIST m_himlNormal;
HIMAGELIST m_himlHot;
- INT fAdjustNeeded;
public:
CAddressBand();