aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/xfixes/select.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/xfixes/select.c')
-rw-r--r--xorg-server/xfixes/select.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/xorg-server/xfixes/select.c b/xorg-server/xfixes/select.c
index 12a165fd0..a5811bdc0 100644
--- a/xorg-server/xfixes/select.c
+++ b/xorg-server/xfixes/select.c
@@ -83,6 +83,7 @@ XFixesSelectionCallback (CallbackListPtr *callbacks, pointer data, pointer args)
{
xXFixesSelectionNotifyEvent ev;
+ memset(&ev, 0, sizeof(xXFixesSelectionNotifyEvent));
ev.type = XFixesEventBase + XFixesSelectionNotify;
ev.subtype = subtype;
ev.sequenceNumber = e->pClient->sequence;
@@ -132,6 +133,7 @@ XFixesSelectSelectionInput (ClientPtr pClient,
WindowPtr pWindow,
CARD32 eventMask)
{
+ pointer val;
int rc;
SelectionEventPtr *prev, e;
@@ -172,7 +174,10 @@ XFixesSelectSelectionInput (ClientPtr pClient,
* Add a resource hanging from the window to
* catch window destroy
*/
- if (!LookupIDByType(pWindow->drawable.id, SelectionWindowType))
+ rc = dixLookupResourceByType (&val, pWindow->drawable.id,
+ SelectionWindowType, serverClient,
+ DixGetAttrAccess);
+ if (rc != Success)
if (!AddResource (pWindow->drawable.id, SelectionWindowType,
(pointer) pWindow))
{