diff --git a/modules/juce_gui_basics/drawables/juce_SVGParser.cpp b/modules/juce_gui_basics/drawables/juce_SVGParser.cpp index b041753f79..d1c748bc63 100644 --- a/modules/juce_gui_basics/drawables/juce_SVGParser.cpp +++ b/modules/juce_gui_basics/drawables/juce_SVGParser.cpp @@ -180,13 +180,19 @@ private: //============================================================================== Drawable* parsePath (const XmlElement& xml) const { - const String dAttribute (xml.getStringAttribute ("d").trimStart()); - String::CharPointerType d (dAttribute.getCharPointer()); Path path; + parsePathString (path, xml.getStringAttribute ("d")); if (getStyleAttribute (&xml, "fill-rule").trim().equalsIgnoreCase ("evenodd")) path.setUsingNonZeroWinding (false); + return parseShape (xml, path); + } + + void parsePathString (Path& path, const String& pathString) const + { + String::CharPointerType d (pathString.getCharPointer().findEndOfWhitespace()); + Point subpathStart, last, last2, p1, p2, p3; juce_wchar lastCommandChar = 0; bool isRelative = true; @@ -402,8 +408,6 @@ private: if (! carryOn) break; } - - return parseShape (xml, path); } Drawable* parseRect (const XmlElement& xml) const diff --git a/modules/juce_gui_basics/misc/juce_DropShadower.cpp b/modules/juce_gui_basics/misc/juce_DropShadower.cpp index 071efc8fbd..00ed746d0a 100644 --- a/modules/juce_gui_basics/misc/juce_DropShadower.cpp +++ b/modules/juce_gui_basics/misc/juce_DropShadower.cpp @@ -95,9 +95,7 @@ void DropShadower::setOwner (Component* componentToFollow) jassert (componentToFollow != nullptr); owner = componentToFollow; - jassert (owner != nullptr); - jassert (owner->isOpaque()); // doesn't work properly for semi-transparent comps! updateParent(); owner->addComponentListener (this); diff --git a/modules/juce_gui_basics/native/juce_linux_Windowing.cpp b/modules/juce_gui_basics/native/juce_linux_Windowing.cpp index 1465e5efaf..e785f846bb 100644 --- a/modules/juce_gui_basics/native/juce_linux_Windowing.cpp +++ b/modules/juce_gui_basics/native/juce_linux_Windowing.cpp @@ -2961,7 +2961,7 @@ ModifierKeys ModifierKeys::getCurrentModifiersRealtime() noexcept void Desktop::setKioskComponent (Component* kioskModeComponent, bool enableOrDisable, bool /* allowMenusAndBars */) { if (enableOrDisable) - kioskModeComponent->setBounds (Desktop::getInstance().getDisplays().getMainDisplay().totalArea); + kioskModeComponent->setBounds (getDisplays().getMainDisplay().totalArea); } //============================================================================== diff --git a/modules/juce_gui_basics/native/juce_win32_Windowing.cpp b/modules/juce_gui_basics/native/juce_win32_Windowing.cpp index 08bd4f80ea..80a8924b3b 100644 --- a/modules/juce_gui_basics/native/juce_win32_Windowing.cpp +++ b/modules/juce_gui_basics/native/juce_win32_Windowing.cpp @@ -635,8 +635,7 @@ public: GetWindowRect (hwnd, &r); Rectangle bounds (rectangleFromRECT (r)); - HWND parentH = GetParent (hwnd); - if (parentH != 0) + if (HWND parentH = GetParent (hwnd)) { GetWindowRect (parentH, &r); bounds.translate (-r.left, -r.top); diff --git a/modules/juce_gui_basics/windows/juce_TooltipWindow.h b/modules/juce_gui_basics/windows/juce_TooltipWindow.h index 750de5de8b..16cbd50b65 100644 --- a/modules/juce_gui_basics/windows/juce_TooltipWindow.h +++ b/modules/juce_gui_basics/windows/juce_TooltipWindow.h @@ -35,7 +35,8 @@ A window that displays a pop-up tooltip when the mouse hovers over another component. To enable tooltips in your app, just create a single instance of a TooltipWindow - object. + object. Note that if you instantiate more than one instance of this class, you'll + end up with multiple tooltips being shown! The TooltipWindow object will then stay invisible, waiting until the mouse hovers for the specified length of time - it will then see if it's currently