From 765545318044ef35a214fc98d393c19dc1b28749 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Thu, 31 Dec 2015 12:58:18 +0000 Subject: [PATCH] [SOLITAIRE] solitaire: no action upon doubleclick Patch by Carlo Bramini. CORE-6514 #resolve #comment Thanks a lot! svn path=/trunk/; revision=70470 --- reactos/base/applications/games/solitaire/solgame.cpp | 5 ++++- reactos/base/applications/games/solitaire/solitaire.cpp | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/reactos/base/applications/games/solitaire/solgame.cpp b/reactos/base/applications/games/solitaire/solgame.cpp index 58ef8e23622..67877a6131d 100644 --- a/reactos/base/applications/games/solitaire/solgame.cpp +++ b/reactos/base/applications/games/solitaire/solgame.cpp @@ -12,6 +12,7 @@ extern TCHAR MsgDeal[128]; CardStack activepile; int LastId; bool fGameStarted = false; +bool bAutoroute = false; void NewGame(void) { @@ -233,7 +234,7 @@ bool CARDLIBPROC SuitStackDropProc(CardRegion &stackobj, CardStack &dragcards) SetPlayTimer(); //only drop 1 card at a time - if(dragcards.NumCards() != 1) + if (!bAutoroute && dragcards.NumCards() != 1) { TRACE("EXIT SuitStackDropProc()\n"); return false; @@ -415,7 +416,9 @@ void CARDLIBPROC RowStackDblClickProc(CardRegion &stackobj, int iNumClicked) //stackobj.MoveCards(pDest, 1, true); //use the SimulateDrag funcion, because we get the //AddProc callbacks called for us on the destination stacks... + bAutoroute = true; stackobj.SimulateDrag(pDest, 1, true); + bAutoroute = false; } TRACE("EXIT RowStackDblClickProc()\n"); } diff --git a/reactos/base/applications/games/solitaire/solitaire.cpp b/reactos/base/applications/games/solitaire/solitaire.cpp index 7ad7f0f1754..04c8e4e8655 100644 --- a/reactos/base/applications/games/solitaire/solitaire.cpp +++ b/reactos/base/applications/games/solitaire/solitaire.cpp @@ -243,6 +243,8 @@ int WINAPI _tWinMain(HINSTANCE hInst, HINSTANCE hPrev, LPTSTR szCmdLine, int iCm NULL, // use window class menu hInst, // program instance handle NULL); // creation parameters + if (hwnd == NULL) + return 1; hwndMain = hwnd;