Browse Source

Fixed a linux time issue. Removed a blank line from the jucer's .sln file generator. Cleaned up some jucer code.

tags/2021-05-28
Julian Storer 14 years ago
parent
commit
4e52fac18e
24 changed files with 165 additions and 261 deletions
  1. +1
    -2
      extras/Jucer (experimental)/Source/Application/jucer_OpenDocumentManager.cpp
  2. +1
    -2
      extras/Jucer (experimental)/Source/Project/jucer_Project.h
  3. +6
    -11
      extras/Jucer (experimental)/Source/Project/jucer_ProjectExport_MSVC.h
  4. +1
    -2
      extras/Jucer (experimental)/Source/Project/jucer_ProjectExport_Make.h
  5. +1
    -2
      extras/Jucer (experimental)/Source/Project/jucer_ProjectExporter.h
  6. +2
    -0
      extras/Jucer (experimental)/Source/Project/jucer_ProjectSaver.h
  7. +2
    -0
      extras/Jucer (experimental)/Source/Project/jucer_ResourceFile.h
  8. +2
    -137
      extras/audio plugin host/Source/FilterGraph.h
  9. +5
    -15
      extras/audio plugin host/Source/GraphEditorPanel.cpp
  10. +1
    -3
      extras/audio plugin host/Source/InternalFilters.h
  11. +3
    -4
      extras/audio plugin host/Source/MainHostWindow.h
  12. +3
    -3
      extras/audio plugins/demo/Source/PluginProcessor.h
  13. +2
    -1
      extras/browser plugins/wrapper/juce_BrowserPluginComponent.h
  14. +1
    -3
      extras/juce demo/Source/demos/WidgetsDemo.cpp
  15. +50
    -35
      juce_amalgamated.cpp
  16. +17
    -2
      juce_amalgamated.h
  17. +17
    -2
      src/containers/juce_ScopedPointer.h
  18. +25
    -2
      src/gui/components/windows/juce_ComponentPeer.cpp
  19. +19
    -19
      src/gui/components/windows/juce_DialogWindow.cpp
  20. +0
    -1
      src/gui/graphics/drawables/juce_DrawableComposite.h
  21. +1
    -8
      src/io/streams/juce_GZIPCompressorOutputStream.cpp
  22. +3
    -3
      src/native/linux/juce_linux_SystemStats.cpp
  23. +2
    -2
      src/native/mac/juce_mac_NSViewComponentPeer.mm
  24. +0
    -2
      src/native/windows/juce_win32_Windowing.cpp

+ 1
- 2
extras/Jucer (experimental)/Source/Application/jucer_OpenDocumentManager.cpp View File

@@ -161,8 +161,7 @@ private:
File file;
Time fileModificationTime;
UnknownDocument (const UnknownDocument&);
UnknownDocument& operator= (const UnknownDocument&);
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (UnknownDocument);
};


+ 1
- 2
extras/Jucer (experimental)/Source/Project/jucer_Project.h View File

@@ -322,8 +322,7 @@ private:
void createDefaultConfigs();
ValueTree getJuceConfigNode();
Project (const Project&);
const Project& operator= (const Project&);
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Project);
};


+ 6
- 11
extras/Jucer (experimental)/Source/Project/jucer_ProjectExport_MSVC.h View File

@@ -243,7 +243,7 @@ protected:
//==============================================================================
void writeSolutionFile (OutputStream& out, const String& versionString, const File& vcProject)
{
out << newLine << "Microsoft Visual Studio Solution File, Format Version " << versionString << newLine
out << "Microsoft Visual Studio Solution File, Format Version " << versionString << newLine
<< "Project(\"" << createGUID (project.getProjectName().toString() + "sln_guid") << "\") = \"" << project.getProjectName().toString() << "\", \""
<< vcProject.getFileName() << "\", \"" << projectGUID << '"' << newLine
<< "EndProject" << newLine
@@ -448,8 +448,7 @@ protected:
return hasIcon;
}
MSVCProjectExporterBase (const MSVCProjectExporterBase&);
MSVCProjectExporterBase& operator= (const MSVCProjectExporterBase&);
JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterBase);
};
@@ -816,8 +815,7 @@ protected:
}
//==============================================================================
MSVCProjectExporterVC2008 (const MSVCProjectExporterVC2008&);
MSVCProjectExporterVC2008& operator= (const MSVCProjectExporterVC2008&);
JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC2008);
};
@@ -850,8 +848,7 @@ protected:
const String getProjectVersionString() const { return "8.00"; }
const String getSolutionVersionString() const { return String ("8.00") + newLine + "# Visual C++ Express 2005"; }
MSVCProjectExporterVC2005 (const MSVCProjectExporterVC2005&);
MSVCProjectExporterVC2005& operator= (const MSVCProjectExporterVC2005&);
JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC2005);
};
@@ -1121,8 +1118,7 @@ private:
<< "}}}" << newLine;
}
MSVCProjectExporterVC6 (const MSVCProjectExporterVC6&);
MSVCProjectExporterVC6& operator= (const MSVCProjectExporterVC6&);
JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC6);
};
@@ -1552,8 +1548,7 @@ protected:
}
//==============================================================================
MSVCProjectExporterVC2010 (const MSVCProjectExporterVC2010&);
MSVCProjectExporterVC2010& operator= (const MSVCProjectExporterVC2010&);
JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC2010);
};


+ 1
- 2
extras/Jucer (experimental)/Source/Project/jucer_ProjectExport_Make.h View File

@@ -342,8 +342,7 @@ private:
+ "_" + String::toHexString (file.toUnixStyle().hashCode()) + ".o";
}
MakefileProjectExporter (const MakefileProjectExporter&);
MakefileProjectExporter& operator= (const MakefileProjectExporter&);
JUCE_DECLARE_NON_COPYABLE (MakefileProjectExporter);
};


+ 1
- 2
extras/Jucer (experimental)/Source/Project/jucer_ProjectExporter.h View File

@@ -119,8 +119,7 @@ protected:
const RelativePath rebaseFromProjectFolderToBuildTarget (const RelativePath& path) const;
private:
ProjectExporter (const ProjectExporter&);
ProjectExporter& operator= (const ProjectExporter&);
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ProjectExporter);
};


+ 2
- 0
extras/Jucer (experimental)/Source/Project/jucer_ProjectSaver.h View File

@@ -535,6 +535,8 @@ private:
return project.getWrapperFolder().getChildFile (project.getJuceSourceFilenameRoot() + (fileIndex != 0 ? String (fileIndex) : String::empty))
.withFileExtension (".cpp");
}
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ProjectSaver);
};


+ 2
- 0
extras/Jucer (experimental)/Source/Project/jucer_ResourceFile.h View File

@@ -60,6 +60,8 @@ private:
String className;
void addResourcesFromProjectItem (const Project::Item& node);
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ResourceFile);
};


+ 2
- 137
extras/audio plugin host/Source/FilterGraph.h View File

@@ -59,67 +59,6 @@ private:
FilterConnection& operator= (const FilterConnection&);
};
//==============================================================================
/**
Represents one of the filters in a FilterGraph.
*/
/*class FilterInGraph : public ReferenceCountedObject
{
public:
//==============================================================================
FilterInGraph (FilterGraph& owner, AudioPluginInstance* const plugin);
~FilterInGraph();
//==============================================================================
AudioPluginInstance* const filter;
uint32 uid;
//==============================================================================
void showUI (bool useGenericUI);
double getX() const throw() { return x; }
double getY() const throw() { return y; }
void setPosition (double x, double y) throw();
XmlElement* createXml() const;
static FilterInGraph* createForDescription (FilterGraph& owner,
const PluginDescription& desc,
String& errorMessage);
static FilterInGraph* createFromXml (FilterGraph& owner, const XmlElement& xml);
//==============================================================================
typedef ReferenceCountedObjectPtr <FilterInGraph> Ptr;
//==============================================================================
juce_UseDebuggingNewOperator
private:
friend class FilterGraphPlayer;
FilterGraph& owner;
double x, y;
friend class PluginWindow;
Component* activeUI;
Component* activeGenericUI;
int lastX, lastY;
MidiBuffer outputMidi;
AudioSampleBuffer processedAudio;
MidiBuffer processedMidi;
void prepareBuffers (int blockSize);
void renderBlock (int numSamples,
const ReferenceCountedArray <FilterInGraph>& filters,
const OwnedArray <FilterConnection>& connections);
FilterInGraph (const FilterInGraph&);
FilterInGraph& operator= (const FilterInGraph&);
};
*/
//==============================================================================
/**
A collection of filters and some connections between them.
@@ -185,14 +124,8 @@ public:
*/
static const int midiChannelNumber;
//==============================================================================
juce_UseDebuggingNewOperator
private:
//friend class FilterGraphPlayer;
//ReferenceCountedArray <FilterInGraph> filters;
//OwnedArray <FilterConnection> connections;
//==============================================================================
AudioProcessorGraph graph;
AudioProcessorPlayer player;
@@ -201,76 +134,8 @@ private:
void createNodeFromXml (const XmlElement& xml);
FilterGraph (const FilterGraph&);
FilterGraph& operator= (const FilterGraph&);
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FilterGraph);
};
//==============================================================================
/**
*/
/*class FilterGraphPlayer : public AudioIODeviceCallback,
public MidiInputCallback,
public ChangeListener
{
public:
//==============================================================================
FilterGraphPlayer (FilterGraph& graph);
~FilterGraphPlayer();
//==============================================================================
void setAudioDeviceManager (AudioDeviceManager* dm);
AudioDeviceManager* getAudioDeviceManager() const throw() { return deviceManager; }
//==============================================================================
void audioDeviceIOCallback (const float** inputChannelData,
int totalNumInputChannels,
float** outputChannelData,
int totalNumOutputChannels,
int numSamples);
void audioDeviceAboutToStart (double sampleRate, int numSamplesPerBlock);
void audioDeviceStopped();
void handleIncomingMidiMessage (MidiInput* source, const MidiMessage& message);
void changeListenerCallback (ChangeBroadcaster*);
//==============================================================================
static int compareElements (FilterInGraph* const first, FilterInGraph* const second) throw();
const float** inputChannelData;
int totalNumInputChannels;
float** outputChannelData;
int totalNumOutputChannels;
MidiBuffer incomingMidi;
MidiKeyboardState keyState;
MidiMessageCollector messageCollector;
//==============================================================================
class PlayerAwareFilter
{
public:
virtual void setPlayer (FilterGraphPlayer* newPlayer) = 0;
};
private:
FilterGraph& graph;
CriticalSection processLock;
double sampleRate;
int blockSize;
AudioDeviceManager* deviceManager;
ReferenceCountedArray <FilterInGraph> filters;
OwnedArray <FilterConnection> connections;
void update();
FilterGraphPlayer (const FilterGraphPlayer&);
FilterGraphPlayer& operator= (const FilterGraphPlayer&);
};
*/
#endif

+ 5
- 15
extras/audio plugin host/Source/GraphEditorPanel.cpp View File

@@ -192,8 +192,6 @@ public:
getGraphPanel()->endDraggingConnector (e);
}
juce_UseDebuggingNewOperator
const uint32 filterID;
const int index;
const bool isInput;
@@ -201,13 +199,12 @@ public:
private:
FilterGraph& graph;
PinComponent (const PinComponent&);
PinComponent& operator= (const PinComponent&);
GraphEditorPanel* getGraphPanel() const throw()
{
return findParentComponentOfClass ((GraphEditorPanel*) 0);
}
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PinComponent);
};
//==============================================================================
@@ -679,8 +676,6 @@ public:
linePath.setUsingNonZeroWinding (true);
}
juce_UseDebuggingNewOperator
uint32 sourceFilterID, destFilterID;
int sourceFilterChannel, destFilterChannel;
@@ -704,8 +699,7 @@ private:
distanceFromEnd = juce_hypot (x - (x2 - getX()), y - (y2 - getY()));
}
ConnectorComponent (const ConnectorComponent&);
ConnectorComponent& operator= (const ConnectorComponent&);
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ConnectorComponent);
};
@@ -990,10 +984,6 @@ public:
startTimer (100);
}
~TooltipBar()
{
}
void paint (Graphics& g)
{
g.setFont (getHeight() * 0.7f, Font::bold);
@@ -1018,10 +1008,10 @@ public:
}
}
juce_UseDebuggingNewOperator
private:
String tip;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TooltipBar);
};
//==============================================================================


+ 1
- 3
extras/audio plugin host/Source/InternalFilters.h View File

@@ -64,10 +64,8 @@ public:
const StringArray searchPathsForPlugins (const FileSearchPath&, bool) { return StringArray(); }
AudioPluginInstance* createInstanceFromDescription (const PluginDescription& desc);
//==============================================================================
juce_UseDebuggingNewOperator
private:
//==============================================================================
PluginDescription audioInDesc;
PluginDescription audioOutDesc;
PluginDescription midiInDesc;


+ 3
- 4
extras/audio plugin host/Source/MainHostWindow.h View File

@@ -83,11 +83,8 @@ public:
void addPluginsToMenu (PopupMenu& m) const;
const PluginDescription* getChosenType (const int menuID) const;
//==============================================================================
juce_UseDebuggingNewOperator
private:
//==============================================================================
AudioDeviceManager deviceManager;
OwnedArray <PluginDescription> internalTypes;
@@ -96,6 +93,8 @@ private:
void showAudioSettings();
GraphDocumentComponent* getGraphEditor() const;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainHostWindow);
};


+ 3
- 3
extras/audio plugins/demo/Source/PluginProcessor.h View File

@@ -92,15 +92,15 @@ public:
float gain, delay;
//==============================================================================
juce_UseDebuggingNewOperator
private:
//==============================================================================
AudioSampleBuffer delayBuffer;
int delayPosition;
// the synth!
Synthesiser synth;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (JuceDemoPluginAudioProcessor);
};
#endif // __PLUGINPROCESSOR_H_526ED7A9__

+ 2
- 1
extras/browser plugins/wrapper/juce_BrowserPluginComponent.h View File

@@ -68,8 +68,9 @@ public:
*/
virtual const var getJavascriptObject() = 0;
private:
//==============================================================================
juce_UseDebuggingNewOperator
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (BrowserPluginComponent);
};


+ 1
- 3
extras/juce demo/Source/demos/WidgetsDemo.cpp View File

@@ -120,11 +120,9 @@ public:
}
else
{
MouseEvent e2 (e.getEventRelativeTo (parent));
// if the mouse is inside the parent component, we'll make that the
// parent - otherwise, we'll put this comp on the desktop.
if (e2.x >= 0 && e2.y >= 0 && e2.x < parent->getWidth() && e2.y < parent->getHeight())
if (parent->getLocalBounds().contains (e.getEventRelativeTo (parent).getPosition()))
{
// re-add this component to a parent component, which will
// remove it from the desktop..


+ 50
- 35
juce_amalgamated.cpp View File

@@ -77609,8 +77609,31 @@ void ComponentPeer::handleFileDragDrop (const StringArray& files, const Point<in
return;
}

const Point<int> pos (targetComp->getLocalPoint (component, position));
target->filesDropped (files, pos.getX(), pos.getY());
// We'll use an async message to deliver the drop, because if the target decides
// to run a modal loop, it can gum-up the operating system..
class AsyncFileDropMessage : public CallbackMessage
{
public:
AsyncFileDropMessage (Component* target_, const Point<int>& position_, const StringArray& files_)
: target (target_), position (position_), files (files_)
{
}

void messageCallback()
{
if (target != 0)
target->filesDropped (files, position.getX(), position.getY());
}

private:
Component::SafePointer<Component> target;
Point<int> position;
StringArray files;

JUCE_DECLARE_NON_COPYABLE (AsyncFileDropMessage);
};

(new AsyncFileDropMessage (targetComp, targetComp->getLocalPoint (component, position), files))->post();
}
}
}
@@ -77681,25 +77704,6 @@ void DialogWindow::resized()
}
}

class TempDialogWindow : public DialogWindow
{
public:
TempDialogWindow (const String& title, const Colour& colour, const bool escapeCloses)
: DialogWindow (title, colour, escapeCloses, true)
{
if (! JUCEApplication::isStandaloneApp())
setAlwaysOnTop (true); // for a plugin, make it always-on-top because the host windows are often top-level
}

void closeButtonPressed()
{
setVisible (false);
}

private:
JUCE_DECLARE_NON_COPYABLE (TempDialogWindow);
};

int DialogWindow::showModalDialog (const String& dialogTitle,
Component* contentComponent,
Component* componentToCentreAround,
@@ -77708,6 +77712,25 @@ int DialogWindow::showModalDialog (const String& dialogTitle,
const bool shouldBeResizable,
const bool useBottomRightCornerResizer)
{
class TempDialogWindow : public DialogWindow
{
public:
TempDialogWindow (const String& title, const Colour& colour, const bool escapeCloses)
: DialogWindow (title, colour, escapeCloses, true)
{
if (! JUCEApplication::isStandaloneApp())
setAlwaysOnTop (true); // for a plugin, make it always-on-top because the host windows are often top-level
}

void closeButtonPressed()
{
setVisible (false);
}

private:
JUCE_DECLARE_NON_COPYABLE (TempDialogWindow);
};

TempDialogWindow dw (dialogTitle, colour, escapeKeyTriggersCloseButton);

dw.setContentComponent (contentComponent, true, true);
@@ -97999,8 +98022,6 @@ ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));

BEGIN_JUCE_NAMESPACE

// internal helper object that holds the zlib structures so they don't have to be
// included publicly.
class GZIPCompressorOutputStream::GZIPCompressorHelper
{
public:
@@ -98137,11 +98158,7 @@ bool GZIPCompressorOutputStream::write (const void* destBuffer, int howMany)
bool GZIPCompressorOutputStream::doNextBlock()
{
const int len = helper->doNextBlock (buffer, (int) GZIPCompressorHelper::gzipCompBufferSize);

if (len > 0)
return destStream->write (buffer, len);
else
return true;
return len <= 0 || destStream->write (buffer, len);
}

int64 GZIPCompressorOutputStream::getPosition()
@@ -242963,8 +242980,6 @@ private:
{
}

~JuceDropTarget() {}

HRESULT __stdcall DragEnter (IDataObject* pDataObject, DWORD /*grfKeyState*/, POINTL mousePos, DWORD* pdwEffect)
{
updateFileList (pDataObject);
@@ -256089,10 +256104,10 @@ double Time::getMillisecondCounterHiRes() throw()
bool Time::setSystemTimeToThisTime() const
{
timeval t;
t.tv_sec = millisSinceEpoch % 1000000;
t.tv_usec = millisSinceEpoch - t.tv_sec;
t.tv_sec = millisSinceEpoch / 1000;
t.tv_usec = (millisSinceEpoch - t.tv_sec * 1000) * 1000;

return settimeofday (&t, 0) ? false : true;
return settimeofday (&t, 0) == 0;
}

#endif
@@ -273227,12 +273242,12 @@ BOOL NSViewComponentPeer::sendDragCallback (int type, id <NSDraggingInfo> sender
NSPoint p = [view convertPoint: [sender draggingLocation] fromView: nil];
const Point<int> pos ((int) p.x, (int) ([view frame].size.height - p.y));

StringArray files;

id list = [[sender draggingPasteboard] propertyListForType: bestType];
if (list == nil)
return false;

StringArray files;

if ([list isKindOfClass: [NSArray class]])
{
NSArray* items = (NSArray*) list;


+ 17
- 2
juce_amalgamated.h View File

@@ -6882,8 +6882,23 @@ private:
const ScopedPointer* getAddress() const throw() { return this; }

#if ! JUCE_MSVC // (MSVC can't deal with multiple copy constructors)
// This is private to stop people accidentally copying a const ScopedPointer (the compiler
// will let you do so by implicitly casting the source to its raw object pointer).
/* This is private to stop people accidentally copying a const ScopedPointer (the compiler
would let you do so by implicitly casting the source to its raw object pointer).

A side effect of this is that you may hit a puzzling compiler error when you write something
like this:

ScopedPointer<MyClass> m = new MyClass(); // Compile error: copy constructor is private.

Even though the compiler would normally ignore the assignment here, it can't do so when the
copy constructor is private. It's very easy to fis though - just write it like this:

ScopedPointer<MyClass> m (new MyClass()); // Compiles OK

It's good practice to always use the latter form when writing your object declarations anyway,
rather than writing them as assignments and assuming (or hoping) that the compiler will be
smart enough to replace your construction + assignment with a single constructor.
*/
ScopedPointer (const ScopedPointer&);
#endif
};


+ 17
- 2
src/containers/juce_ScopedPointer.h View File

@@ -167,8 +167,23 @@ private:
const ScopedPointer* getAddress() const throw() { return this; }
#if ! JUCE_MSVC // (MSVC can't deal with multiple copy constructors)
// This is private to stop people accidentally copying a const ScopedPointer (the compiler
// will let you do so by implicitly casting the source to its raw object pointer).
/* This is private to stop people accidentally copying a const ScopedPointer (the compiler
would let you do so by implicitly casting the source to its raw object pointer).
A side effect of this is that you may hit a puzzling compiler error when you write something
like this:
ScopedPointer<MyClass> m = new MyClass(); // Compile error: copy constructor is private.
Even though the compiler would normally ignore the assignment here, it can't do so when the
copy constructor is private. It's very easy to fis though - just write it like this:
ScopedPointer<MyClass> m (new MyClass()); // Compiles OK
It's good practice to always use the latter form when writing your object declarations anyway,
rather than writing them as assignments and assuming (or hoping) that the compiler will be
smart enough to replace your construction + assignment with a single constructor.
*/
ScopedPointer (const ScopedPointer&);
#endif
};


+ 25
- 2
src/gui/components/windows/juce_ComponentPeer.cpp View File

@@ -507,8 +507,31 @@ void ComponentPeer::handleFileDragDrop (const StringArray& files, const Point<in
return;
}
const Point<int> pos (targetComp->getLocalPoint (component, position));
target->filesDropped (files, pos.getX(), pos.getY());
// We'll use an async message to deliver the drop, because if the target decides
// to run a modal loop, it can gum-up the operating system..
class AsyncFileDropMessage : public CallbackMessage
{
public:
AsyncFileDropMessage (Component* target_, const Point<int>& position_, const StringArray& files_)
: target (target_), position (position_), files (files_)
{
}
void messageCallback()
{
if (target != 0)
target->filesDropped (files, position.getX(), position.getY());
}
private:
Component::SafePointer<Component> target;
Point<int> position;
StringArray files;
JUCE_DECLARE_NON_COPYABLE (AsyncFileDropMessage);
};
(new AsyncFileDropMessage (targetComp, targetComp->getLocalPoint (component, position), files))->post();
}
}
}


+ 19
- 19
src/gui/components/windows/juce_DialogWindow.cpp View File

@@ -62,25 +62,6 @@ void DialogWindow::resized()
//==============================================================================
class TempDialogWindow : public DialogWindow
{
public:
TempDialogWindow (const String& title, const Colour& colour, const bool escapeCloses)
: DialogWindow (title, colour, escapeCloses, true)
{
if (! JUCEApplication::isStandaloneApp())
setAlwaysOnTop (true); // for a plugin, make it always-on-top because the host windows are often top-level
}
void closeButtonPressed()
{
setVisible (false);
}
private:
JUCE_DECLARE_NON_COPYABLE (TempDialogWindow);
};
int DialogWindow::showModalDialog (const String& dialogTitle,
Component* contentComponent,
Component* componentToCentreAround,
@@ -89,6 +70,25 @@ int DialogWindow::showModalDialog (const String& dialogTitle,
const bool shouldBeResizable,
const bool useBottomRightCornerResizer)
{
class TempDialogWindow : public DialogWindow
{
public:
TempDialogWindow (const String& title, const Colour& colour, const bool escapeCloses)
: DialogWindow (title, colour, escapeCloses, true)
{
if (! JUCEApplication::isStandaloneApp())
setAlwaysOnTop (true); // for a plugin, make it always-on-top because the host windows are often top-level
}
void closeButtonPressed()
{
setVisible (false);
}
private:
JUCE_DECLARE_NON_COPYABLE (TempDialogWindow);
};
TempDialogWindow dw (dialogTitle, colour, escapeKeyTriggersCloseButton);
dw.setContentComponent (contentComponent, true, true);


+ 0
- 1
src/gui/graphics/drawables/juce_DrawableComposite.h View File

@@ -246,7 +246,6 @@ public:
ValueTree getMarkerListCreating (bool xAxis, UndoManager* undoManager);
};
private:
//==============================================================================
RelativeParallelogram bounds;


+ 1
- 8
src/io/streams/juce_GZIPCompressorOutputStream.cpp View File

@@ -43,8 +43,6 @@ BEGIN_JUCE_NAMESPACE
//==============================================================================
// internal helper object that holds the zlib structures so they don't have to be
// included publicly.
class GZIPCompressorOutputStream::GZIPCompressorHelper
{
public:
@@ -130,7 +128,6 @@ public:
bool finished, shouldFinish;
};
//==============================================================================
GZIPCompressorOutputStream::GZIPCompressorOutputStream (OutputStream* const destStream_,
int compressionLevel,
@@ -184,11 +181,7 @@ bool GZIPCompressorOutputStream::write (const void* destBuffer, int howMany)
bool GZIPCompressorOutputStream::doNextBlock()
{
const int len = helper->doNextBlock (buffer, (int) GZIPCompressorHelper::gzipCompBufferSize);
if (len > 0)
return destStream->write (buffer, len);
else
return true;
return len <= 0 || destStream->write (buffer, len);
}
int64 GZIPCompressorOutputStream::getPosition()


+ 3
- 3
src/native/linux/juce_linux_SystemStats.cpp View File

@@ -185,10 +185,10 @@ double Time::getMillisecondCounterHiRes() throw()
bool Time::setSystemTimeToThisTime() const
{
timeval t;
t.tv_sec = millisSinceEpoch % 1000000;
t.tv_usec = millisSinceEpoch - t.tv_sec;
t.tv_sec = millisSinceEpoch / 1000;
t.tv_usec = (millisSinceEpoch - t.tv_sec * 1000) * 1000;
return settimeofday (&t, 0) ? false : true;
return settimeofday (&t, 0) == 0;
}


+ 2
- 2
src/native/mac/juce_mac_NSViewComponentPeer.mm View File

@@ -1504,12 +1504,12 @@ BOOL NSViewComponentPeer::sendDragCallback (int type, id <NSDraggingInfo> sender
NSPoint p = [view convertPoint: [sender draggingLocation] fromView: nil];
const Point<int> pos ((int) p.x, (int) ([view frame].size.height - p.y));
StringArray files;
id list = [[sender draggingPasteboard] propertyListForType: bestType];
if (list == nil)
return false;
StringArray files;
if ([list isKindOfClass: [NSArray class]])
{
NSArray* items = (NSArray*) list;


+ 0
- 2
src/native/windows/juce_win32_Windowing.cpp View File

@@ -1850,8 +1850,6 @@ private:
{
}
~JuceDropTarget() {}
HRESULT __stdcall DragEnter (IDataObject* pDataObject, DWORD /*grfKeyState*/, POINTL mousePos, DWORD* pdwEffect)
{
updateFileList (pDataObject);


Loading…
Cancel
Save