Browse Source

Fix for component notifications when peer is changing. Some fixes for GCC4.7 on linux.

tags/2021-05-28
jules 13 years ago
parent
commit
ab33b1a05d
5 changed files with 16 additions and 2 deletions
  1. +4
    -0
      modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
  2. +1
    -0
      modules/juce_events/juce_events.cpp
  3. +1
    -1
      modules/juce_gui_basics/buttons/juce_Button.h
  4. +9
    -1
      modules/juce_gui_basics/components/juce_Component.cpp
  5. +1
    -0
      modules/juce_gui_basics/juce_gui_basics.cpp

+ 4
- 0
modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h View File

@@ -99,3 +99,7 @@
#if (defined(__APPLE_CPP__) || defined(__APPLE_CC__)) && ! defined (JUCE_ObjCExtraSuffix)
#error "To avoid objective-C name clashes with other plugins, you need to define the JUCE_ObjCExtraSuffix value as a global definition for your project!"
#endif
#if JucePlugin_Build_LV2 && ! defined (JucePlugin_LV2URI)
#error "You need to define the JucePlugin_LV2URI value!"
#endif

+ 1
- 0
modules/juce_events/juce_events.cpp View File

@@ -56,6 +56,7 @@
#include <X11/Xresource.h>
#include <X11/Xutil.h>
#undef KeyPress
#include <unistd.h>
#endif
//==============================================================================


+ 1
- 1
modules/juce_gui_basics/buttons/juce_Button.h View File

@@ -110,7 +110,7 @@ public:
void setToggleState (bool shouldBeOn,
bool sendChangeNotification);
/** Returns true if the button in 'on'.
/** Returns true if the button is 'on'.
By default buttons are 'off' and for simple buttons that you click to perform
an action you won't change this. Toggle buttons, however will want to


+ 9
- 1
modules/juce_gui_basics/components/juce_Component.cpp View File

@@ -568,12 +568,20 @@ void Component::addToDesktop (int styleWanted, void* nativeWindowToAttachTo)
if (peer != nullptr)
{
ScopedPointer<ComponentPeer> oldPeerToDelete (peer);
wasFullscreen = peer->isFullScreen();
wasMinimised = peer->isMinimised();
currentConstainer = peer->getConstrainer();
oldNonFullScreenBounds = peer->getNonFullScreenBounds();
removeFromDesktop();
flags.hasHeavyweightPeerFlag = false;
Desktop::getInstance().removeDesktopComponent (this);
internalHierarchyChanged(); // give comps a chance to react to the peer change before the old peer is deleted.
if (safePointer == nullptr)
return;
setTopLeftPosition (topLeft);
}


+ 1
- 0
modules/juce_gui_basics/juce_gui_basics.cpp View File

@@ -97,6 +97,7 @@
#include <X11/Xmd.h>
#include <X11/keysym.h>
#include <X11/cursorfont.h>
#include <unistd.h>
#if JUCE_USE_XINERAMA
/* If you're trying to use Xinerama, you'll need to install the "libxinerama-dev" package.. */


Loading…
Cancel
Save