diff --git a/juce_amalgamated.cpp b/juce_amalgamated.cpp index 468393bff7..9925dfc86b 100644 --- a/juce_amalgamated.cpp +++ b/juce_amalgamated.cpp @@ -12869,6 +12869,7 @@ XmlDocument::XmlDocument (const String& documentText) } XmlDocument::XmlDocument (const File& file) + : ignoreEmptyTextElements (true) { inputSource = new FileInputSource (file); } @@ -37336,10 +37337,10 @@ END_JUCE_NAMESPACE BEGIN_JUCE_NAMESPACE Message::Message() throw() -{ -} - -Message::~Message() throw() + : intParameter1 (0), + intParameter2 (0), + intParameter3 (0), + pointerParameter (0) { } @@ -37354,6 +37355,10 @@ Message::Message (const int intParameter1_, { } +Message::~Message() throw() +{ +} + END_JUCE_NAMESPACE /*** End of inlined file: juce_Message.cpp ***/ @@ -68315,7 +68320,7 @@ private: disableMouseMoves = false; } - if (disableMouseMoves) + if (disableMouseMoves || (activeSubMenu != 0 && activeSubMenu->isOverChildren())) return; bool isMovingTowardsMenu = false; @@ -230320,7 +230325,8 @@ class FreeTypeInterface : public DeletedAtShutdown public: FreeTypeInterface() - : lastFace (0), + : ftLib (0), + lastFace (0), lastBold (false), lastItalic (false) { @@ -231328,6 +231334,9 @@ public: { ScopedXLock xlock; + if (gc != None) + XFreeGC (display, gc); + #if JUCE_USE_XSHM if (usingXShm) { @@ -231351,19 +231360,19 @@ public: { ScopedXLock xlock; - if (gc == 0) + if (gc == None) { - XGCValues gcvalues; - gcvalues.foreground = None; - gcvalues.background = None; - gcvalues.function = GXcopy; - gcvalues.plane_mask = AllPlanes; - gcvalues.clip_mask = None; - gcvalues.graphics_exposures = False; + XGCValues gcvalues; + gcvalues.foreground = None; + gcvalues.background = None; + gcvalues.function = GXcopy; + gcvalues.plane_mask = AllPlanes; + gcvalues.clip_mask = None; + gcvalues.graphics_exposures = False; - gc = XCreateGC (display, window, - GCBackground | GCForeground | GCFunction | GCPlaneMask | GCClipMask | GCGraphicsExposures, - &gcvalues); + gc = XCreateGC (display, window, + GCBackground | GCForeground | GCFunction | GCPlaneMask | GCClipMask | GCGraphicsExposures, + &gcvalues); } if (imageDepth == 16) @@ -233830,7 +233839,7 @@ void* juce_createMouseCursorFromImage (const Image& image, int hotspotX, int hot void juce_deleteMouseCursor (void* const cursorHandle, const bool) throw() { ScopedXLock xlock; - if (cursorHandle != None) + if (cursorHandle != 0) XFreeCursor (display, (Cursor) cursorHandle); } @@ -237108,7 +237117,7 @@ public: { [self stop]; - delete runLoopThread; + deleteAndZero (runLoopThread); [connection release]; [data release]; [dataLock release]; @@ -237139,7 +237148,9 @@ public: DBG (nsStringToJuce ([error description])); hasFailed = true; initialised = true; - runLoopThread->signalThreadShouldExit(); + + if (runLoopThread != 0) + runLoopThread->signalThreadShouldExit(); } - (void) connection: (NSURLConnection*) connection didReceiveData: (NSData*) newData @@ -237154,7 +237165,9 @@ public: { hasFinished = true; initialised = true; - runLoopThread->signalThreadShouldExit(); + + if (runLoopThread != 0) + runLoopThread->signalThreadShouldExit(); } - (BOOL) isOpen @@ -237202,7 +237215,9 @@ public: - (void) stop { [connection cancel]; - runLoopThread->stopThread (10000); + + if (runLoopThread != 0) + runLoopThread->stopThread (10000); } @end diff --git a/src/events/juce_Message.cpp b/src/events/juce_Message.cpp index c93d5f99f2..9e574a49f0 100644 --- a/src/events/juce_Message.cpp +++ b/src/events/juce_Message.cpp @@ -32,10 +32,10 @@ BEGIN_JUCE_NAMESPACE //============================================================================== Message::Message() throw() -{ -} - -Message::~Message() throw() + : intParameter1 (0), + intParameter2 (0), + intParameter3 (0), + pointerParameter (0) { } @@ -50,4 +50,8 @@ Message::Message (const int intParameter1_, { } +Message::~Message() throw() +{ +} + END_JUCE_NAMESPACE diff --git a/src/gui/components/menus/juce_PopupMenu.cpp b/src/gui/components/menus/juce_PopupMenu.cpp index d60afca556..6394fb665e 100644 --- a/src/gui/components/menus/juce_PopupMenu.cpp +++ b/src/gui/components/menus/juce_PopupMenu.cpp @@ -1150,7 +1150,7 @@ private: disableMouseMoves = false; } - if (disableMouseMoves) + if (disableMouseMoves || (activeSubMenu != 0 && activeSubMenu->isOverChildren())) return; bool isMovingTowardsMenu = false; diff --git a/src/native/linux/juce_linux_Fonts.cpp b/src/native/linux/juce_linux_Fonts.cpp index 45eb0fc983..f45e52ec74 100644 --- a/src/native/linux/juce_linux_Fonts.cpp +++ b/src/native/linux/juce_linux_Fonts.cpp @@ -90,7 +90,8 @@ class FreeTypeInterface : public DeletedAtShutdown public: //============================================================================== FreeTypeInterface() - : lastFace (0), + : ftLib (0), + lastFace (0), lastBold (false), lastItalic (false) { diff --git a/src/native/linux/juce_linux_Windowing.cpp b/src/native/linux/juce_linux_Windowing.cpp index 39e84c153f..e6e8bd9f04 100644 --- a/src/native/linux/juce_linux_Windowing.cpp +++ b/src/native/linux/juce_linux_Windowing.cpp @@ -562,6 +562,9 @@ public: { ScopedXLock xlock; + if (gc != None) + XFreeGC (display, gc); + #if JUCE_USE_XSHM if (usingXShm) { @@ -585,19 +588,19 @@ public: { ScopedXLock xlock; - if (gc == 0) + if (gc == None) { - XGCValues gcvalues; - gcvalues.foreground = None; - gcvalues.background = None; - gcvalues.function = GXcopy; - gcvalues.plane_mask = AllPlanes; - gcvalues.clip_mask = None; - gcvalues.graphics_exposures = False; + XGCValues gcvalues; + gcvalues.foreground = None; + gcvalues.background = None; + gcvalues.function = GXcopy; + gcvalues.plane_mask = AllPlanes; + gcvalues.clip_mask = None; + gcvalues.graphics_exposures = False; - gc = XCreateGC (display, window, - GCBackground | GCForeground | GCFunction | GCPlaneMask | GCClipMask | GCGraphicsExposures, - &gcvalues); + gc = XCreateGC (display, window, + GCBackground | GCForeground | GCFunction | GCPlaneMask | GCClipMask | GCGraphicsExposures, + &gcvalues); } if (imageDepth == 16) @@ -3085,7 +3088,7 @@ void* juce_createMouseCursorFromImage (const Image& image, int hotspotX, int hot void juce_deleteMouseCursor (void* const cursorHandle, const bool) throw() { ScopedXLock xlock; - if (cursorHandle != None) + if (cursorHandle != 0) XFreeCursor (display, (Cursor) cursorHandle); } diff --git a/src/native/mac/juce_mac_Network.mm b/src/native/mac/juce_mac_Network.mm index 8f583595f2..6ac1440393 100644 --- a/src/native/mac/juce_mac_Network.mm +++ b/src/native/mac/juce_mac_Network.mm @@ -219,7 +219,7 @@ public: { [self stop]; - delete runLoopThread; + deleteAndZero (runLoopThread); [connection release]; [data release]; [dataLock release]; @@ -250,7 +250,9 @@ public: DBG (nsStringToJuce ([error description])); hasFailed = true; initialised = true; - runLoopThread->signalThreadShouldExit(); + + if (runLoopThread != 0) + runLoopThread->signalThreadShouldExit(); } - (void) connection: (NSURLConnection*) connection didReceiveData: (NSData*) newData @@ -265,7 +267,9 @@ public: { hasFinished = true; initialised = true; - runLoopThread->signalThreadShouldExit(); + + if (runLoopThread != 0) + runLoopThread->signalThreadShouldExit(); } - (BOOL) isOpen @@ -313,7 +317,9 @@ public: - (void) stop { [connection cancel]; - runLoopThread->stopThread (10000); + + if (runLoopThread != 0) + runLoopThread->stopThread (10000); } @end diff --git a/src/text/juce_XmlDocument.cpp b/src/text/juce_XmlDocument.cpp index ea4728e5f0..c160688006 100644 --- a/src/text/juce_XmlDocument.cpp +++ b/src/text/juce_XmlDocument.cpp @@ -39,6 +39,7 @@ XmlDocument::XmlDocument (const String& documentText) } XmlDocument::XmlDocument (const File& file) + : ignoreEmptyTextElements (true) { inputSource = new FileInputSource (file); }