mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
X11: Pass Display instance to GetXProperty constructor
This commit is contained in:
parent
b9542ccc4c
commit
5e44bc39e0
4 changed files with 39 additions and 20 deletions
|
|
@ -222,7 +222,14 @@ public:
|
|||
if ((clientMsg.data.l[1] & 1) != 0)
|
||||
{
|
||||
XWindowSystemUtilities::ScopedXLock xLock;
|
||||
XWindowSystemUtilities::GetXProperty prop (dragAndDropSourceWindow, atoms.XdndTypeList, 0, 0x8000000L, false, XA_ATOM);
|
||||
|
||||
XWindowSystemUtilities::GetXProperty prop (getDisplay(),
|
||||
dragAndDropSourceWindow,
|
||||
atoms.XdndTypeList,
|
||||
0,
|
||||
0x8000000L,
|
||||
false,
|
||||
XA_ATOM);
|
||||
|
||||
if (prop.success && prop.actualType == XA_ATOM && prop.actualFormat == 32 && prop.numItems != 0)
|
||||
{
|
||||
|
|
@ -281,8 +288,13 @@ public:
|
|||
|
||||
for (;;)
|
||||
{
|
||||
XWindowSystemUtilities::GetXProperty prop (evt.xany.window, evt.xselection.property,
|
||||
(long) (dropData.getSize() / 4), 65536, false, AnyPropertyType);
|
||||
XWindowSystemUtilities::GetXProperty prop (getDisplay(),
|
||||
evt.xany.window,
|
||||
evt.xselection.property,
|
||||
(long) (dropData.getSize() / 4),
|
||||
65536,
|
||||
false,
|
||||
AnyPropertyType);
|
||||
|
||||
if (! prop.success)
|
||||
break;
|
||||
|
|
@ -518,7 +530,13 @@ private:
|
|||
|
||||
int getDnDVersionForWindow (::Window target)
|
||||
{
|
||||
XWindowSystemUtilities::GetXProperty prop (target, getAtoms().XdndAware, 0, 2, false, AnyPropertyType);
|
||||
XWindowSystemUtilities::GetXProperty prop (getDisplay(),
|
||||
target,
|
||||
getAtoms().XdndAware,
|
||||
0,
|
||||
2,
|
||||
false,
|
||||
AnyPropertyType);
|
||||
|
||||
if (prop.success && prop.data != None && prop.actualFormat == 32 && prop.numItems == 1)
|
||||
return jmin ((int) prop.data[0], (int) XWindowSystemUtilities::Atoms::DndVersion);
|
||||
|
|
|
|||
|
|
@ -163,11 +163,10 @@ bool XWindowSystemUtilities::Atoms::isMimeTypeFile (::Display* display, Atom ato
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
XWindowSystemUtilities::GetXProperty::GetXProperty (Window window, Atom atom, long offset,
|
||||
long length, bool shouldDelete, Atom requestedType)
|
||||
XWindowSystemUtilities::GetXProperty::GetXProperty (::Display* display, Window window, Atom atom,
|
||||
long offset, long length, bool shouldDelete, Atom requestedType)
|
||||
{
|
||||
success = (X11Symbols::getInstance()->xGetWindowProperty (XWindowSystem::getInstance()->getDisplay(),
|
||||
window, atom, offset, length,
|
||||
success = (X11Symbols::getInstance()->xGetWindowProperty (display, window, atom, offset, length,
|
||||
(Bool) shouldDelete, requestedType, &actualType,
|
||||
&actualFormat, &numItems, &bytesLeft, &data) == Success)
|
||||
&& data != nullptr;
|
||||
|
|
@ -1062,7 +1061,8 @@ namespace DisplayHelpers
|
|||
{
|
||||
const auto xsettingsSettingsAtom = Atoms::getCreating (display, "_XSETTINGS_SETTINGS");
|
||||
|
||||
const GetXProperty prop { selectionWindow,
|
||||
const GetXProperty prop { display,
|
||||
selectionWindow,
|
||||
xsettingsSettingsAtom,
|
||||
0L,
|
||||
std::numeric_limits<long>::max(),
|
||||
|
|
@ -1270,7 +1270,7 @@ namespace ClipboardHelpers
|
|||
{
|
||||
if (display != nullptr)
|
||||
{
|
||||
XWindowSystemUtilities::GetXProperty prop (window, atom, 0L, 100000, false, AnyPropertyType);
|
||||
XWindowSystemUtilities::GetXProperty prop (display, window, atom, 0L, 100000, false, AnyPropertyType);
|
||||
|
||||
if (prop.success)
|
||||
{
|
||||
|
|
@ -1777,7 +1777,7 @@ BorderSize<int> XWindowSystem::getBorderSize (::Window windowH) const
|
|||
|
||||
if (hints != None)
|
||||
{
|
||||
XWindowSystemUtilities::GetXProperty prop (windowH, hints, 0, 4, false, XA_CARDINAL);
|
||||
XWindowSystemUtilities::GetXProperty prop (display, windowH, hints, 0, 4, false, XA_CARDINAL);
|
||||
|
||||
if (prop.success && prop.actualFormat == 32)
|
||||
{
|
||||
|
|
@ -1859,7 +1859,7 @@ bool XWindowSystem::isMinimised (::Window windowH) const
|
|||
jassert (windowH != 0);
|
||||
|
||||
XWindowSystemUtilities::ScopedXLock xLock;
|
||||
XWindowSystemUtilities::GetXProperty prop (windowH, atoms.state, 0, 64, false, atoms.state);
|
||||
XWindowSystemUtilities::GetXProperty prop (display, windowH, atoms.state, 0, 64, false, atoms.state);
|
||||
|
||||
if (prop.success && prop.actualType == atoms.state
|
||||
&& prop.actualFormat == 32 && prop.numItems > 0)
|
||||
|
|
@ -2413,7 +2413,7 @@ Array<Displays::Display> XWindowSystem::findDisplays (float masterScale) const
|
|||
for (int i = 0; i < numMonitors; ++i)
|
||||
{
|
||||
auto rootWindow = X11Symbols::getInstance()->xRootWindow (display, i);
|
||||
XWindowSystemUtilities::GetXProperty prop (rootWindow, workAreaHints, 0, 4, false, XA_CARDINAL);
|
||||
XWindowSystemUtilities::GetXProperty prop (display, rootWindow, workAreaHints, 0, 4, false, XA_CARDINAL);
|
||||
|
||||
if (! hasWorkAreaData (prop))
|
||||
continue;
|
||||
|
|
@ -2505,7 +2505,8 @@ Array<Displays::Display> XWindowSystem::findDisplays (float masterScale) const
|
|||
|
||||
for (int i = 0; i < numMonitors; ++i)
|
||||
{
|
||||
XWindowSystemUtilities::GetXProperty prop (X11Symbols::getInstance()->xRootWindow (display, i),
|
||||
XWindowSystemUtilities::GetXProperty prop (display,
|
||||
X11Symbols::getInstance()->xRootWindow (display, i),
|
||||
workAreaHints, 0, 4, false, XA_CARDINAL);
|
||||
|
||||
auto workArea = getWorkArea (prop);
|
||||
|
|
@ -2959,7 +2960,7 @@ long XWindowSystem::getUserTime (::Window windowH) const
|
|||
{
|
||||
jassert (windowH != 0);
|
||||
|
||||
XWindowSystemUtilities::GetXProperty prop (windowH, atoms.userTime, 0, 65536, false, XA_CARDINAL);
|
||||
XWindowSystemUtilities::GetXProperty prop (display, windowH, atoms.userTime, 0, 65536, false, XA_CARDINAL);
|
||||
|
||||
if (! prop.success)
|
||||
return 0;
|
||||
|
|
@ -3588,7 +3589,7 @@ void XWindowSystem::propertyNotifyEvent (LinuxComponentPeer* peer, const XProper
|
|||
return false;
|
||||
|
||||
XWindowSystemUtilities::ScopedXLock xLock;
|
||||
XWindowSystemUtilities::GetXProperty prop (event.window, atoms.windowState, 0, 128, false, XA_ATOM);
|
||||
XWindowSystemUtilities::GetXProperty prop (display, event.window, atoms.windowState, 0, 128, false, XA_ATOM);
|
||||
|
||||
if (! (prop.success && prop.actualFormat == 32 && prop.actualType == XA_ATOM))
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -49,8 +49,8 @@ namespace XWindowSystemUtilities
|
|||
*/
|
||||
struct GetXProperty
|
||||
{
|
||||
GetXProperty (::Window windowH, Atom property, long offset,
|
||||
long length, bool shouldDelete, Atom requestedType);
|
||||
GetXProperty (::Display* display, ::Window windowH, Atom property,
|
||||
long offset, long length, bool shouldDelete, Atom requestedType);
|
||||
~GetXProperty();
|
||||
|
||||
bool success = false;
|
||||
|
|
@ -160,7 +160,7 @@ public:
|
|||
String getTextFromClipboard() const;
|
||||
String getLocalClipboardContent() const noexcept { return localClipboardContent; }
|
||||
|
||||
::Display* getDisplay() noexcept { return display; }
|
||||
::Display* getDisplay() const noexcept { return display; }
|
||||
const XWindowSystemUtilities::Atoms& getAtoms() const noexcept { return atoms; }
|
||||
|
||||
bool isX11Available() const noexcept { return xIsAvailable; }
|
||||
|
|
|
|||
|
|
@ -384,7 +384,7 @@ private:
|
|||
//==============================================================================
|
||||
bool getXEmbedMappedFlag()
|
||||
{
|
||||
XWindowSystemUtilities::GetXProperty embedInfo (client, infoAtom, 0, 2, false, infoAtom);
|
||||
XWindowSystemUtilities::GetXProperty embedInfo (getDisplay(), client, infoAtom, 0, 2, false, infoAtom);
|
||||
|
||||
if (embedInfo.success && embedInfo.actualFormat == 32
|
||||
&& embedInfo.numItems >= 2 && embedInfo.data != nullptr)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue