Fix for triple click glitch when using multiple text editors or when destroying/creating instances due to the use of a static variable to track triple click time.
diff --git a/TextEditor.cpp b/TextEditor.cpp
index 963e754..e477c35 100644
--- a/TextEditor.cpp
+++ b/TextEditor.cpp
@@ -41,6 +41,7 @@
 	, mColorRangeMax(0)

 	, mSelectionMode(SelectionMode::Normal)

 	, mCheckComments(true)

+	, mLastClick(-1.0f)

 {

 	SetPalette(GetDarkPalette());

 	SetLanguageDefinition(LanguageDefinition::HLSL());

@@ -540,13 +541,12 @@
 

 	if (ImGui::IsWindowHovered())

 	{

-		static float lastClick = -1.0f;

 		if (!shift && !alt)

 		{

 			auto click = ImGui::IsMouseClicked(0);

 			auto doubleClick = ImGui::IsMouseDoubleClicked(0);

 			auto t = ImGui::GetTime();

-			auto tripleClick = click && !doubleClick && t - lastClick < io.MouseDoubleClickTime;

+			auto tripleClick = click && !doubleClick && (mLastClick != -1.0f && (t - mLastClick) < io.MouseDoubleClickTime);

 

 			/*

 				Left mouse button triple click

@@ -561,7 +561,7 @@
 					SetSelection(mInteractiveStart, mInteractiveEnd, mSelectionMode);

 				}

 

-				lastClick = -1.0f;

+				mLastClick = -1.0f;

 			}

 

 			/*

@@ -580,7 +580,7 @@
 					SetSelection(mInteractiveStart, mInteractiveEnd, mSelectionMode);

 				}

 

-				lastClick = (float)ImGui::GetTime();

+				mLastClick = (float)ImGui::GetTime();

 			}

 

 			/*

@@ -595,7 +595,7 @@
 					mSelectionMode = SelectionMode::Normal;

 				SetSelection(mInteractiveStart, mInteractiveEnd, mSelectionMode);

 

-				lastClick = (float)ImGui::GetTime();

+				mLastClick = (float)ImGui::GetTime();

 			}

 			// Mouse left button dragging (=> update selection)

 			else if (ImGui::IsMouseDragging(0) && ImGui::IsMouseDown(0))

diff --git a/TextEditor.h b/TextEditor.h
index ac03ad4..b5b4b7b 100644
--- a/TextEditor.h
+++ b/TextEditor.h
@@ -344,4 +344,6 @@
 	ErrorMarkers mErrorMarkers;

 	ImVec2 mCharAdvance;

 	Coordinates mInteractiveStart, mInteractiveEnd;

+	

+	float mLastClick;

 };