[PATCH v4 09/10] shell32/autocomplete: Localize some variables and simplify a calculation

Gabriel Ivăncescu gabrielopcode at gmail.com
Mon Sep 10 14:09:39 CDT 2018


Signed-off-by: Gabriel Ivăncescu <gabrielopcode at gmail.com>
---
 dlls/shell32/autocomplete.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/dlls/shell32/autocomplete.c b/dlls/shell32/autocomplete.c
index fbf02f9..d2ed30d 100644
--- a/dlls/shell32/autocomplete.c
+++ b/dlls/shell32/autocomplete.c
@@ -137,9 +137,8 @@ static LRESULT APIENTRY ACEditSubclassProc(HWND hwnd, UINT uMsg, WPARAM wParam,
     LRESULT ret;
     WCHAR *hwndText;
     UINT len, size, cpt;
-    RECT r;
     BOOLEAN displayall = FALSE, noautoappend = !(This->options & ACO_AUTOAPPEND);
-    int height, sel;
+    INT sel;
 
     if (!This->enabled) return CallWindowProcW(This->wpOrigEditProc, hwnd, uMsg, wParam, lParam);
 
@@ -201,9 +200,8 @@ static LRESULT APIENTRY ACEditSubclassProc(HWND hwnd, UINT uMsg, WPARAM wParam,
                                 goto handle_char;
                             }
                         } else {
-                            int count;
+                            INT count = SendMessageW(This->hwndListBox, LB_GETCOUNT, 0, 0);
 
-                            count = SendMessageW(This->hwndListBox, LB_GETCOUNT, 0, 0);
                             /* Change the selection */
                             sel = SendMessageW(This->hwndListBox, LB_GETCURSEL, 0, 0);
                             if (wParam == VK_UP)
@@ -319,14 +317,15 @@ static LRESULT APIENTRY ACEditSubclassProc(HWND hwnd, UINT uMsg, WPARAM wParam,
 
             if (This->options & ACO_AUTOSUGGEST) {
                 if (cpt) {
-                    height = SendMessageW(This->hwndListBox, LB_GETITEMHEIGHT, 0, 0);
+                    RECT r;
+                    UINT height = SendMessageW(This->hwndListBox, LB_GETITEMHEIGHT, 0, 0);
                     SendMessageW(This->hwndListBox, LB_CARETOFF, 0, 0);
                     GetWindowRect(hwnd, &r);
                     SetParent(This->hwndListBox, HWND_DESKTOP);
                     /* It seems that Windows XP displays 7 lines at most
                        and otherwise displays a vertical scroll bar */
                     SetWindowPos(This->hwndListBox, HWND_TOP,
-                                 r.left, r.bottom + 1, r.right - r.left, min(height * 7, height*(cpt+1)),
+                                 r.left, r.bottom + 1, r.right - r.left, height * min(cpt + 1, 7),
                                  SWP_SHOWWINDOW );
                 } else {
                     ShowWindow(This->hwndListBox, SW_HIDE);
@@ -337,8 +336,8 @@ static LRESULT APIENTRY ACEditSubclassProc(HWND hwnd, UINT uMsg, WPARAM wParam,
         {
             WNDPROC proc = This->wpOrigEditProc;
 
-            RemovePropW(hwnd, autocomplete_propertyW);
             SetWindowLongPtrW(hwnd, GWLP_WNDPROC, (LONG_PTR)proc);
+            RemovePropW(hwnd, autocomplete_propertyW);
             destroy_autocomplete_object(This);
             return CallWindowProcW(proc, hwnd, uMsg, wParam, lParam);
         }
-- 
1.9.1




More information about the wine-devel mailing list