[PATCH 23/45] [WinHelp]: the latest pages must be at the top of the list

Eric Pouech eric.pouech at orange.fr
Sun Mar 23 04:19:39 CDT 2008




A+
---

 programs/winhelp/winhelp.c |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)


diff --git a/programs/winhelp/winhelp.c b/programs/winhelp/winhelp.c
index c9d70c4..3a96bf1 100644
--- a/programs/winhelp/winhelp.c
+++ b/programs/winhelp/winhelp.c
@@ -487,16 +487,17 @@ static void     WINHELP_AddHistory(WINHELP_WINDOW* win, HLPFILE_PAGE* page)
     if (i == Globals.history.index)
     {
         num = sizeof(Globals.history.set) / sizeof(Globals.history.set[0]);
+        /* we're full, remove latest entry */
         if (Globals.history.index == num)
         {
-            /* we're full, remove latest entry */
-            HLPFILE_FreeHlpFile(Globals.history.set[0].page->file);
-            memmove(&Globals.history.set[0], &Globals.history.set[1],
-                    (num - 1) * sizeof(Globals.history.set[0]));
+            HLPFILE_FreeHlpFile(Globals.history.set[num - 1].page->file);
             Globals.history.index--;
         }
-        Globals.history.set[Globals.history.index].page = page;
-        Globals.history.set[Globals.history.index++].wininfo = win->info;
+        memmove(&Globals.history.set[1], &Globals.history.set[0],
+                Globals.history.index * sizeof(Globals.history.set[0]));
+        Globals.history.set[0].page = page;
+        Globals.history.set[0].wininfo = win->info;
+        Globals.history.index++;
         page->file->wRefCount++;
         if (win->hHistoryWnd) InvalidateRect(win->hHistoryWnd, NULL, TRUE);
     }
@@ -1142,7 +1143,8 @@ static LRESULT CALLBACK WINHELP_HistoryWndProc(HWND hWnd, UINT msg, WPARAM wPara
 
         for (i = 0; i < Globals.history.index; i++)
         {
-            TextOut(hDc, 0, i * tm.tmHeight, Globals.history.set[i].page->lpszTitle,
+            TextOut(hDc, 0, i * tm.tmHeight,
+                    Globals.history.set[i].page->lpszTitle,
                     strlen(Globals.history.set[i].page->lpszTitle));
         }
         EndPaint(hWnd, &ps);





More information about the wine-patches mailing list