Browse Source

ActiveX browser plugin fix. File extension changes in the new jucer.

tags/2021-05-28
Julian Storer 15 years ago
parent
commit
a9c2f2c69e
14 changed files with 91 additions and 88 deletions
  1. +3
    -2
      extras/Jucer (experimental)/Source/Application/jucer_CommonHeaders.h
  2. +2
    -2
      extras/Jucer (experimental)/Source/Code Editor/jucer_SourceCodeEditor.cpp
  3. +2
    -2
      extras/Jucer (experimental)/Source/Project/jucer_Project.cpp
  4. +5
    -5
      extras/Jucer (experimental)/Source/Project/jucer_ProjectExport_MSVC.h
  5. +2
    -2
      extras/Jucer (experimental)/Source/Project/jucer_ProjectExport_XCode.h
  6. +1
    -1
      extras/Jucer (experimental)/Source/Project/jucer_ProjectExporter.cpp
  7. +1
    -1
      extras/Jucer (experimental)/Source/Project/jucer_ResourceFile.cpp
  8. +1
    -1
      extras/Jucer (experimental)/Source/Project/jucer_TreeViewTypes.cpp
  9. +22
    -20
      extras/browser plugins/wrapper/juce_ActiveX_GlueCode.cpp
  10. +20
    -20
      juce_amalgamated.cpp
  11. +6
    -6
      juce_amalgamated.h
  12. +1
    -1
      src/core/juce_Atomic.h
  13. +4
    -4
      src/gui/components/controls/juce_Slider.h
  14. +21
    -21
      src/native/linux/juce_linux_Files.cpp

+ 3
- 2
extras/Jucer (experimental)/Source/Application/jucer_CommonHeaders.h View File

@@ -46,8 +46,9 @@ const char* const projectItemDragType = "Project Items";
const char* const drawableItemDragType = "Drawable Items";
const char* const componentItemDragType = "Components";
const char* const sourceFileExtensions = "cpp;mm;m;c;h;hpp";
const char* const headerFileExtensions = "h;hpp";
const char* const sourceFileExtensions = "cpp;mm;m;c;cc;cxx";
const char* const headerFileExtensions = "h;hpp;hxx";
const char* const sourceOrHeaderFileExtensions = "cpp;mm;m;c;cc;cxx;h;hpp;hxx";
#endif

+ 2
- 2
extras/Jucer (experimental)/Source/Code Editor/jucer_SourceCodeEditor.cpp View File

@@ -57,10 +57,10 @@ void SourceCodeEditor::resized()
bool SourceCodeEditor::isTextFile (const File& file)
{
return file.hasFileExtension ("cpp;h;hpp;mm;m;c;txt;xml;plist;rtf;html;htm;php;py;rb;cs");
return file.hasFileExtension ("cpp;h;hpp;mm;m;c;cc;cxx;txt;xml;plist;rtf;html;htm;php;py;rb;cs");
}
bool SourceCodeEditor::isCppFile (const File& file)
{
return file.hasFileExtension (sourceFileExtensions);
return file.hasFileExtension (sourceOrHeaderFileExtensions);
}

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

@@ -264,7 +264,7 @@ const String Project::getRelativePathForFile (const File& file) const
//==============================================================================
bool Project::shouldBeAddedToBinaryResourcesByDefault (const File& file)
{
return ! file.hasFileExtension (sourceFileExtensions);
return ! file.hasFileExtension (sourceOrHeaderFileExtensions);
}
//==============================================================================
@@ -454,7 +454,7 @@ Project::Item Project::createNewItem (const File& file)
Item item (*this, ValueTree (Tags::file));
item.initialiseNodeValues();
item.getName() = file.getFileName();
item.getShouldCompileValue() = file.hasFileExtension ("cpp;mm;c;m");
item.getShouldCompileValue() = file.hasFileExtension ("cpp;mm;c;m;cc;cxx");
item.getShouldAddToResourceValue() = shouldBeAddedToBinaryResourcesByDefault (file);
return item;
}


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

@@ -597,7 +597,7 @@ protected:
XmlElement* const group = createGroup (groupName, parent);
for (int i = 0; i < files.size(); ++i)
if (files.getReference(i).hasFileExtension ("cpp;c;cc;h;hpp;rc;ico"))
if (files.getReference(i).hasFileExtension ("cpp;c;cc;cxx;h;hpp;hxx;rc;ico"))
addFile (files.getReference(i), *group, false,
useStdcall && shouldFileBeCompiledByDefault (files.getReference(i)));
}
@@ -1037,7 +1037,7 @@ private:
if (projectItem.isGroup())
{
out << "# Begin Group \"" << projectItem.getName() << '"' << newLine
<< "# PROP Default_Filter \"cpp;c;cxx;rc;def;r;odl;idl;hpj;bat\"" << newLine;
<< "# PROP Default_Filter \"cpp;c;cc;cxx;rc;def;r;odl;idl;hpj;bat\"" << newLine;
for (int i = 0; i < projectItem.getNumChildren(); ++i)
writeFiles (out, projectItem.getChild (i));
@@ -1057,7 +1057,7 @@ private:
{
out << "# Begin Group \"" << groupName << '"' << newLine;
for (int i = 0; i < files.size(); ++i)
if (files.getReference(i).hasFileExtension ("cpp;c;h"))
if (files.getReference(i).hasFileExtension ("cpp;cc;c;cxx;h;hpp;hxx"))
writeFile (out, files.getReference(i), false);
out << "# End Group" << newLine;
@@ -1401,7 +1401,7 @@ protected:
{
jassert (file.getRoot() == RelativePath::buildTargetFolder);
if (file.hasFileExtension ("cpp;c"))
if (file.hasFileExtension ("cpp;cc;cxx;c"))
{
XmlElement* e = cpps.createNewChildElement ("ClCompile");
e->setAttribute ("Include", file.toWindowsStyle());
@@ -1440,7 +1440,7 @@ protected:
{
const RelativePath path (projectItem.getFile(), getTargetFolder(), RelativePath::buildTargetFolder);
if (path.hasFileExtension (headerFileExtensions) || (path.hasFileExtension ("cpp;c") && projectItem.shouldBeCompiled()))
if (path.hasFileExtension (headerFileExtensions) || (path.hasFileExtension ("cpp;cc;c;cxx") && projectItem.shouldBeCompiled()))
addFileToCompile (path, cpps, headers, false, false);
}
}


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

@@ -771,7 +771,7 @@ private:
static const String getFileType (const RelativePath& file)
{
if (file.hasFileExtension (".cpp")) return "sourcecode.cpp.cpp";
if (file.hasFileExtension ("cpp;cc;cxx")) return "sourcecode.cpp.cpp";
else if (file.hasFileExtension (".mm")) return "sourcecode.cpp.objcpp";
else if (file.hasFileExtension (".m")) return "sourcecode.c.objc";
else if (file.hasFileExtension (headerFileExtensions)) return "sourcecode.c.h";
@@ -1065,7 +1065,7 @@ private:
bool shouldFileBeCompiledByDefault (const RelativePath& file) const
{
return file.hasFileExtension ("cpp;mm;c;m");
return file.hasFileExtension (sourceFileExtensions);
}
//==============================================================================


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

@@ -146,7 +146,7 @@ const RelativePath ProjectExporter::getJucePathFromTargetFolder() const
bool ProjectExporter::shouldFileBeCompiledByDefault (const RelativePath& file) const
{
return file.hasFileExtension ("cpp;c");
return file.hasFileExtension ("cpp;cc;c;cxx");
}
void ProjectExporter::createPropertyEditors (Array <PropertyComponent*>& props)


+ 1
- 1
extras/Jucer (experimental)/Source/Project/jucer_ResourceFile.cpp View File

@@ -44,7 +44,7 @@ ResourceFile::~ResourceFile()
bool ResourceFile::isResourceFile (const File& file)
{
if (file.hasFileExtension ("cpp;h"))
if (file.hasFileExtension ("cpp;cc;h"))
{
ScopedPointer <InputStream> in (file.createInputStream());


+ 1
- 1
extras/Jucer (experimental)/Source/Project/jucer_TreeViewTypes.cpp View File

@@ -171,7 +171,7 @@ const String SourceFileTreeViewItem::getDisplayName() const
static const File findCorrespondingHeaderOrCpp (const File& f)
{
if (f.hasFileExtension ("cpp;c;mm;m"))
if (f.hasFileExtension (sourceFileExtensions))
return f.withFileExtension (".h");
else if (f.hasFileExtension (headerFileExtensions))
return f.withFileExtension (".cpp");


+ 22
- 20
extras/browser plugins/wrapper/juce_ActiveX_GlueCode.cpp View File

@@ -429,8 +429,7 @@ class AXBrowserPluginHolderComponent : public Component
public:
//==============================================================================
AXBrowserPluginHolderComponent()
: child (0),
parentHWND (0),
: parentHWND (0),
browser (0)
{
setOpaque (true);
@@ -443,7 +442,7 @@ public:
~AXBrowserPluginHolderComponent()
{
setWindow (0);
deleteAndZero (child);
child = 0;
}
//==============================================================================
@@ -522,7 +521,7 @@ public:
private:
//==============================================================================
BrowserPluginComponent* child;
ScopedPointer<BrowserPluginComponent> child;
HWND parentHWND;
IWebBrowser2* browser;
};
@@ -581,17 +580,15 @@ class JuceActiveXObject : public IUnknown,
{
public:
JuceActiveXObject()
: refCount (0)
: site (0), refCount (0)
{
log ("JuceActiveXObject");
site = 0;
holderComp = 0;
}
~JuceActiveXObject()
{
deleteHolderComp();
log ("~JuceActiveXObject");
holderComp = 0;
}
HRESULT __stdcall QueryInterface (REFIID id, void __RPC_FAR* __RPC_FAR* result)
@@ -670,26 +667,31 @@ public:
void createHolderComp()
{
if (numActivePlugins++ == 0)
if (holderComp == 0)
{
log ("initialiseJuce_GUI()");
initialiseJuce_GUI();
if (numActivePlugins++ == 0)
{
log ("initialiseJuce_GUI()");
initialiseJuce_GUI();
browserVersionDesc = "Internet Explorer " + getExeVersion (getExePath(), "FileVersion");
}
browserVersionDesc = "Internet Explorer " + getExeVersion (getExePath(), "FileVersion");
}
if (holderComp == 0)
holderComp = new AXBrowserPluginHolderComponent();
}
}
void deleteHolderComp()
{
deleteAndZero (holderComp);
if (--numActivePlugins == 0)
if (holderComp != 0)
{
log ("shutdownJuce_GUI()");
shutdownJuce_GUI();
holderComp = 0;
if (--numActivePlugins == 0)
{
log ("shutdownJuce_GUI()");
shutdownJuce_GUI();
}
}
}
@@ -735,7 +737,7 @@ public:
private:
IUnknown* site;
int refCount;
AXBrowserPluginHolderComponent* holderComp;
ScopedPointer<AXBrowserPluginHolderComponent> holderComp;
IDispatchHelper iDispatchHelper;
JuceActiveXObject (const JuceActiveXObject&);


+ 20
- 20
juce_amalgamated.cpp View File

@@ -253485,6 +253485,25 @@ bool File::isHidden() const
return getFileName().startsWithChar ('.');
}

static const File juce_readlink (const char* const utf8, const File& defaultFile)
{
const int size = 8192;
HeapBlock<char> buffer;
buffer.malloc (size + 4);

const size_t numBytes = readlink (utf8, buffer, size);

if (numBytes > 0 && numBytes <= size)
return File (String::fromUTF8 (buffer, (int) numBytes));

return defaultFile;
}

const File File::getLinkedTarget() const
{
return juce_readlink (getFullPathName().toUTF8(), *this);
}

const char* juce_Argv0 = 0; // referenced from juce_Application.cpp

const File File::getSpecialLocation (const SpecialLocationType type)
@@ -253545,14 +253564,7 @@ const File File::getSpecialLocation (const SpecialLocationType type)
return juce_getExecutableFile();

case hostApplicationPath:
{
unsigned int size = 8192;
HeapBlock<char> buffer;
buffer.calloc (size + 8);

readlink ("/proc/self/exe", buffer.getData(), size);
return String::fromUTF8 (buffer, size);
}
return juce_readlink ("/proc/self/exe", juce_getExecutableFile());

default:
jassertfalse; // unknown type?
@@ -253567,18 +253579,6 @@ const String File::getVersion() const
return String::empty; // xxx not yet implemented
}

const File File::getLinkedTarget() const
{
char buffer [4096];
size_t numChars = readlink (getFullPathName().toUTF8(),
buffer, sizeof (buffer));

if (numChars > 0 && numChars <= sizeof (buffer))
return File (String::fromUTF8 (buffer, (int) numChars));

return *this;
}

bool File::moveToTrash() const
{
if (! exists())


+ 6
- 6
juce_amalgamated.h View File

@@ -64,7 +64,7 @@
*/
#define JUCE_MAJOR_VERSION 1
#define JUCE_MINOR_VERSION 52
#define JUCE_BUILDNUMBER 48
#define JUCE_BUILDNUMBER 49

/** Current Juce version number.

@@ -5963,7 +5963,7 @@ template <typename Type>
inline Type Atomic<Type>::operator+= (const Type amountToAdd) throw()
{
#if JUCE_ATOMICS_MAC
return sizeof (Type) == 4 ? (Type) OSAtomicAdd32Barrier ((int32_t) amountToAdd, (JUCE_MAC_ATOMICS_VOLATILE int32_t*) &value)
return sizeof (Type) == 4 ? (Type) OSAtomicAdd32Barrier ((int32_t) castTo32Bit (amountToAdd), (JUCE_MAC_ATOMICS_VOLATILE int32_t*) &value)
: (Type) OSAtomicAdd64Barrier ((int64_t) amountToAdd, (JUCE_MAC_ATOMICS_VOLATILE int64_t*) &value);
#elif JUCE_ATOMICS_WINDOWS
return sizeof (Type) == 4 ? (Type) (juce_InterlockedExchangeAdd ((volatile long*) &value, (long) amountToAdd) + (long) amountToAdd)
@@ -45921,10 +45921,10 @@ private:
*/
class JUCE_API Slider : public Component,
public SettableTooltipClient,
private AsyncUpdater,
private ButtonListener, // (can't use Button::Listener due to idiotic VC2005 bug)
private LabelListener,
private Value::Listener
public AsyncUpdater,
public ButtonListener, // (can't use Button::Listener due to idiotic VC2005 bug)
public LabelListener,
public Value::Listener
{
public:



+ 1
- 1
src/core/juce_Atomic.h View File

@@ -264,7 +264,7 @@ template <typename Type>
inline Type Atomic<Type>::operator+= (const Type amountToAdd) throw()
{
#if JUCE_ATOMICS_MAC
return sizeof (Type) == 4 ? (Type) OSAtomicAdd32Barrier ((int32_t) amountToAdd, (JUCE_MAC_ATOMICS_VOLATILE int32_t*) &value)
return sizeof (Type) == 4 ? (Type) OSAtomicAdd32Barrier ((int32_t) castTo32Bit (amountToAdd), (JUCE_MAC_ATOMICS_VOLATILE int32_t*) &value)
: (Type) OSAtomicAdd64Barrier ((int64_t) amountToAdd, (JUCE_MAC_ATOMICS_VOLATILE int64_t*) &value);
#elif JUCE_ATOMICS_WINDOWS
return sizeof (Type) == 4 ? (Type) (juce_InterlockedExchangeAdd ((volatile long*) &value, (long) amountToAdd) + (long) amountToAdd)


+ 4
- 4
src/gui/components/controls/juce_Slider.h View File

@@ -55,10 +55,10 @@
*/
class JUCE_API Slider : public Component,
public SettableTooltipClient,
private AsyncUpdater,
private ButtonListener, // (can't use Button::Listener due to idiotic VC2005 bug)
private LabelListener,
private Value::Listener
public AsyncUpdater,
public ButtonListener, // (can't use Button::Listener due to idiotic VC2005 bug)
public LabelListener,
public Value::Listener
{
public:
//==============================================================================


+ 21
- 21
src/native/linux/juce_linux_Files.cpp View File

@@ -106,6 +106,26 @@ bool File::isHidden() const
return getFileName().startsWithChar ('.');
}
//==============================================================================
static const File juce_readlink (const char* const utf8, const File& defaultFile)
{
const int size = 8192;
HeapBlock<char> buffer;
buffer.malloc (size + 4);
const size_t numBytes = readlink (utf8, buffer, size);
if (numBytes > 0 && numBytes <= size)
return File (String::fromUTF8 (buffer, (int) numBytes));
return defaultFile;
}
const File File::getLinkedTarget() const
{
return juce_readlink (getFullPathName().toUTF8(), *this);
}
//==============================================================================
const char* juce_Argv0 = 0; // referenced from juce_Application.cpp
@@ -167,14 +187,7 @@ const File File::getSpecialLocation (const SpecialLocationType type)
return juce_getExecutableFile();
case hostApplicationPath:
{
unsigned int size = 8192;
HeapBlock<char> buffer;
buffer.calloc (size + 8);
readlink ("/proc/self/exe", buffer.getData(), size);
return String::fromUTF8 (buffer, size);
}
return juce_readlink ("/proc/self/exe", juce_getExecutableFile());
default:
jassertfalse; // unknown type?
@@ -190,19 +203,6 @@ const String File::getVersion() const
return String::empty; // xxx not yet implemented
}
//==============================================================================
const File File::getLinkedTarget() const
{
char buffer [4096];
size_t numChars = readlink (getFullPathName().toUTF8(),
buffer, sizeof (buffer));
if (numChars > 0 && numChars <= sizeof (buffer))
return File (String::fromUTF8 (buffer, (int) numChars));
return *this;
}
//==============================================================================
bool File::moveToTrash() const
{


Loading…
Cancel
Save