From f9af910ffe5413237ba237eee4cab488e01077db Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Tue, 18 Dec 2012 18:30:14 +0000 Subject: [PATCH] Block close button on query tab while its query thread is running. Fixes issue #3063. --- out/locale/en/LC_MESSAGES/default.po | 8 +++++++- source/main.pas | 9 ++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/out/locale/en/LC_MESSAGES/default.po b/out/locale/en/LC_MESSAGES/default.po index 00b16041..47ce06dd 100644 --- a/out/locale/en/LC_MESSAGES/default.po +++ b/out/locale/en/LC_MESSAGES/default.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: HeidiSQL\n" "POT-Creation-Date: 2012-11-05 21:40\n" -"PO-Revision-Date: 2012-12-13 21:33+0100\n" +"PO-Revision-Date: 2012-12-18 19:28+0100\n" "Last-Translator: Ansgar Becker \n" "Language-Team: English (http://www.transifex.com/projects/p/heidisql/" "language/en/)\n" @@ -5562,3 +5562,9 @@ msgstr "Minute" #. Table tools msgid "Second" msgstr "Second" + +#. Query tab close button +msgid "" +"Cannot close tab with running query. Please wait until query has finished." +msgstr "" +"Cannot close tab with running query. Please wait until query has finished." diff --git a/source/main.pas b/source/main.pas index 10860fef..686bf3f1 100644 --- a/source/main.pas +++ b/source/main.pas @@ -9576,9 +9576,12 @@ var Tab: TQueryTab; begin Tab := QueryTabs[PageIndex-tabQuery.PageIndex]; - if (not Tab.Memo.Modified) or (not AppSettings.ReadBool(asPromptSaveFileOnTabClose)) then - Result := True - else begin + if Tab.QueryRunning then begin + LogSQL(_('Cannot close tab with running query. Please wait until query has finished.')); + Result := False; + end else if not Tab.Memo.Modified then begin + Result := True; + end else begin // Unhide tabsheet so the user sees the memo content Tab.TabSheet.PageControl.ActivePage := Tab.TabSheet; if Tab.MemoFilename <> '' then