From 39f12d3cc6ab820abadea02dad5cd99e6aba70a6 Mon Sep 17 00:00:00 2001 From: jules Date: Fri, 9 Dec 2011 10:18:46 +0000 Subject: [PATCH] Fix for win32 window confusion when running multiple juce apps. --- .../native/juce_win32_HiddenMessageWindow.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/juce_events/native/juce_win32_HiddenMessageWindow.h b/modules/juce_events/native/juce_win32_HiddenMessageWindow.h index fcc5bab563..b0b634fd75 100644 --- a/modules/juce_events/native/juce_win32_HiddenMessageWindow.h +++ b/modules/juce_events/native/juce_win32_HiddenMessageWindow.h @@ -73,16 +73,20 @@ class JuceWindowIdentifier public: static bool isJUCEWindow (HWND hwnd) noexcept { - return GetWindowLong (hwnd, GWLP_USERDATA) == improbableWindowNumber; + return GetWindowLongPtr (hwnd, GWLP_USERDATA) == getImprobableWindowNumber(); } static void setAsJUCEWindow (HWND hwnd, bool isJuceWindow) noexcept { - SetWindowLongPtr (hwnd, GWLP_USERDATA, isJuceWindow ? improbableWindowNumber : 0); + SetWindowLongPtr (hwnd, GWLP_USERDATA, isJuceWindow ? getImprobableWindowNumber() : 0); } private: - enum { improbableWindowNumber = 0xf965aa01 }; + static LONG_PTR getImprobableWindowNumber() noexcept + { + static LONG_PTR number = (LONG_PTR) Random::getSystemRandom().nextInt64(); + return number; + } }; //==============================================================================