Bug 8925

Summary: sprite.screen is NULL unless Xinerama is running
Product: xorg Reporter: Keith Packard <keithp>
Component: Server/GeneralAssignee: Daniel Stone <daniel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: high    
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Keith Packard 2006-11-07 01:00:23 UTC
You can't use sprite.screen in SyntheticMotion as it is NULL unless Xinerama is
running.
Comment 1 Daniel Stone 2006-11-07 01:09:54 UTC
#ifdef PANORAMIX
[...]
#define SyntheticMotion(x, y) \
    PostSyntheticMotion(x, y, sprite.screen->myNum, \
                        syncEvents.playingEvents ? \
                          syncEvents.time.milliseconds : \
                          currentTime.milliseconds);
[...]
#endif

i don't use xinerama on any of my sistems, so this would've bit me pretty early on.
Comment 2 Daniel Stone 2006-11-07 01:14:33 UTC
sorry, i'm being really special today.  fixed in git.
Comment 3 Keith Packard 2006-11-07 01:30:16 UTC
The problem occurs when PANORAMIX is defined but the DIX code is unused, in this
case sprite.screen is NULL and yet SyntheticMotion dereferences it. I've pushed
a fix to the randr-1.2 branch, including defining this new external function in
dixevents.h
Comment 4 Daniel Stone 2006-11-30 16:37:29 UTC
already been fixed

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.