XQuartz: Fix xp_window_bring_all_to_front linking on OS versions with older libXplugin
Found-by: Tinderbox Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
This commit is contained in:
parent
b4c2358e0a
commit
884f51e977
|
@ -59,13 +59,6 @@
|
||||||
#include "rootlessWindow.h"
|
#include "rootlessWindow.h"
|
||||||
#include "xprEvent.h"
|
#include "xprEvent.h"
|
||||||
|
|
||||||
/* This is important enough to declare here if building against an old
|
|
||||||
* libXplugin, so we pick it up whenever libXplugin starts to support it.
|
|
||||||
*/
|
|
||||||
#if !defined(XPLUGIN_VERSION) || XPLUGIN_VERSION < 6
|
|
||||||
extern xp_error xp_window_bring_all_to_front(void) __attribute__((weak_import));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
Bool
|
Bool
|
||||||
QuartzModeEventHandler(int screenNum, XQuartzEvent *e, DeviceIntPtr dev)
|
QuartzModeEventHandler(int screenNum, XQuartzEvent *e, DeviceIntPtr dev)
|
||||||
{
|
{
|
||||||
|
@ -86,21 +79,18 @@ QuartzModeEventHandler(int screenNum, XQuartzEvent *e, DeviceIntPtr dev)
|
||||||
/* There's no need to do xp_window_bring_all_to_front on Leopard,
|
/* There's no need to do xp_window_bring_all_to_front on Leopard,
|
||||||
* and we don't care about the result, so just do it async.
|
* and we don't care about the result, so just do it async.
|
||||||
*/
|
*/
|
||||||
#if defined(HAVE_LIBDISPATCH)
|
#if defined(HAVE_LIBDISPATCH) && defined(XPLUGIN_VERSION) && XPLUGIN_VERSION >= 6
|
||||||
#if (defined(XPLUGIN_VERSION_MIN_REQUIRED) && XPLUGIN_VERSION_MIN_REQUIRED >= 6) || \
|
# if defined(XPLUGIN_VERSION_MIN_REQUIRED) && XPLUGIN_VERSION_MIN_REQUIRED < 6
|
||||||
(!defined(XPLUGIN_VERSION_MIN_REQUIRED) && defined(XPLUGIN_VERSION) && XPLUGIN_VERSION >= 6)
|
if (&xp_window_bring_all_to_front) {
|
||||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
# endif
|
||||||
xp_window_bring_all_to_front();
|
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
||||||
});
|
xp_window_bring_all_to_front();
|
||||||
#else
|
});
|
||||||
if (&xp_window_bring_all_to_front) {
|
# if defined(XPLUGIN_VERSION_MIN_REQUIRED) && XPLUGIN_VERSION_MIN_REQUIRED < 6
|
||||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
} else {
|
||||||
xp_window_bring_all_to_front();
|
RootlessOrderAllWindows(e->data[0]);
|
||||||
});
|
}
|
||||||
} else {
|
# endif
|
||||||
RootlessOrderAllWindows(e->data[0]);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#else
|
#else
|
||||||
RootlessOrderAllWindows(e->data[0]);
|
RootlessOrderAllWindows(e->data[0]);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue