diff --git a/extras/Introjucer/Source/Code Editor/jucer_SourceCodeEditor.cpp b/extras/Introjucer/Source/Code Editor/jucer_SourceCodeEditor.cpp index 8c19f0ace8..93e5371f6f 100644 --- a/extras/Introjucer/Source/Code Editor/jucer_SourceCodeEditor.cpp +++ b/extras/Introjucer/Source/Code Editor/jucer_SourceCodeEditor.cpp @@ -36,13 +36,13 @@ SourceCodeEditor::SourceCodeEditor (OpenDocumentManager::Document* document_, { addAndMakeVisible (&editor); -#if JUCE_MAC + #if JUCE_MAC Font font (10.6f); - font.setTypefaceName ("Andale Mono"); -#else + font.setTypefaceName ("Menlo Regular"); + #else Font font (10.0f); font.setTypefaceName (Font::getDefaultMonospacedFontName()); -#endif + #endif editor.setFont (font); } diff --git a/extras/audio plugins/wrapper/VST/juce_VST_Wrapper.mm b/extras/audio plugins/wrapper/VST/juce_VST_Wrapper.mm index 3fb35284fb..17690fc13a 100644 --- a/extras/audio plugins/wrapper/VST/juce_VST_Wrapper.mm +++ b/extras/audio plugins/wrapper/VST/juce_VST_Wrapper.mm @@ -251,8 +251,8 @@ void setNativeHostWindowSize (void* nsWindow, Component* component, int newWidth if (hostView != 0) { // xxx is this necessary, or do the hosts detect a change in the child view and do this automatically? - [hostView setSize: NSMakeSize ([hostView size].width + (newWidth - component->getWidth()), - [hostView size].height + (newHeight - component->getHeight()))]; + [hostView setFrameSize: NSMakeSize ([hostView frame].size.width + (newWidth - component->getWidth()), + [hostView frame].size.height + (newHeight - component->getHeight()))]; } #else NSWindow* hostWindow = (NSWindow*) nsWindow; @@ -273,12 +273,9 @@ void setNativeHostWindowSize (void* nsWindow, Component* component, int newWidth void checkWindowVisibility (void* nsWindow, Component* comp) { - #if JUCE_64BIT - NSView* hostWindow = (NSView*) nsWindow; - #else - NSWindow* hostWindow = (NSWindow*) nsWindow; + #if ! JUCE_64BIT + comp->setVisible ([((NSWindow*) nsWindow) isVisible]); #endif - comp->setVisible ([hostWindow isVisible]); } void forwardCurrentKeyEventToHost (Component* comp) diff --git a/juce_amalgamated.cpp b/juce_amalgamated.cpp index 082ee15128..99e8bd1794 100644 --- a/juce_amalgamated.cpp +++ b/juce_amalgamated.cpp @@ -45060,7 +45060,8 @@ void CodeDocument::replaceAllContent (const String& newContent) bool CodeDocument::loadFromStream (InputStream& stream) { - replaceAllContent (stream.readEntireStreamAsString()); + remove (0, getNumCharacters(), false); + insert (stream.readEntireStreamAsString(), 0, false); setSavePoint(); clearUndoHistory(); return true; @@ -49788,7 +49789,12 @@ void Slider::setValue (double newValue, valueBox->hideEditor (true); lastCurrentValue = newValue; - currentValue = newValue; + + // (need to do this comparison because the Value will use equalsWithSameType to compare + // the new and old values, so will generate unwanted change events if the type changes) + if (currentValue != newValue) + currentValue = newValue; + updateText(); repaint(); @@ -85982,7 +85988,7 @@ public: { const ScopedPointer et (f.getTypeface()->getEdgeTableForGlyph (glyphNumber, getTransformWith (transform))); - if (et != 0) + if (et != 0 && clip != 0) { SoftwareRendererClasses::ClipRegion_EdgeTable* edgeTableClip = new SoftwareRendererClasses::ClipRegion_EdgeTable (*et); SoftwareRendererClasses::ClipRegionBase::Ptr shapeToFill (edgeTableClip); diff --git a/juce_amalgamated.h b/juce_amalgamated.h index 2a09a33d67..aa5b708fc6 100644 --- a/juce_amalgamated.h +++ b/juce_amalgamated.h @@ -73,7 +73,7 @@ namespace JuceDummyNamespace {} */ #define JUCE_MAJOR_VERSION 1 #define JUCE_MINOR_VERSION 53 -#define JUCE_BUILDNUMBER 67 +#define JUCE_BUILDNUMBER 68 /** Current Juce version number. diff --git a/src/core/juce_StandardHeader.h b/src/core/juce_StandardHeader.h index 4e7e616dd5..bca25f5be1 100644 --- a/src/core/juce_StandardHeader.h +++ b/src/core/juce_StandardHeader.h @@ -33,7 +33,7 @@ */ #define JUCE_MAJOR_VERSION 1 #define JUCE_MINOR_VERSION 53 -#define JUCE_BUILDNUMBER 67 +#define JUCE_BUILDNUMBER 68 /** Current Juce version number. diff --git a/src/gui/components/code_editor/juce_CodeDocument.cpp b/src/gui/components/code_editor/juce_CodeDocument.cpp index 288d614fb4..a087294af5 100644 --- a/src/gui/components/code_editor/juce_CodeDocument.cpp +++ b/src/gui/components/code_editor/juce_CodeDocument.cpp @@ -579,7 +579,8 @@ void CodeDocument::replaceAllContent (const String& newContent) bool CodeDocument::loadFromStream (InputStream& stream) { - replaceAllContent (stream.readEntireStreamAsString()); + remove (0, getNumCharacters(), false); + insert (stream.readEntireStreamAsString(), 0, false); setSavePoint(); clearUndoHistory(); return true; diff --git a/src/gui/components/controls/juce_Slider.cpp b/src/gui/components/controls/juce_Slider.cpp index 170cae3d0a..80642fe2bb 100644 --- a/src/gui/components/controls/juce_Slider.cpp +++ b/src/gui/components/controls/juce_Slider.cpp @@ -492,7 +492,12 @@ void Slider::setValue (double newValue, valueBox->hideEditor (true); lastCurrentValue = newValue; - currentValue = newValue; + + // (need to do this comparison because the Value will use equalsWithSameType to compare + // the new and old values, so will generate unwanted change events if the type changes) + if (currentValue != newValue) + currentValue = newValue; + updateText(); repaint(); diff --git a/src/gui/graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp b/src/gui/graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp index 3bd06d6e51..1a9fdb4114 100644 --- a/src/gui/graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp +++ b/src/gui/graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp @@ -2068,7 +2068,7 @@ public: { const ScopedPointer et (f.getTypeface()->getEdgeTableForGlyph (glyphNumber, getTransformWith (transform))); - if (et != 0) + if (et != 0 && clip != 0) { SoftwareRendererClasses::ClipRegion_EdgeTable* edgeTableClip = new SoftwareRendererClasses::ClipRegion_EdgeTable (*et); SoftwareRendererClasses::ClipRegionBase::Ptr shapeToFill (edgeTableClip);