Find a file
Roland Scheidegger 2ad8aae749 hw/xfree86: move reference counting out of the UseHWCursor[ARGB] functions
The problem is that the xf86_use_hw_cursor(_argb) functions may get this
correctly now, some drivers will replace these generic versions with their
own functions. It is pretty insane to expect them to do reference counting
of the cursor (as an example, look at driver/xf86-video-vmware to see how
that looks like as a workaround). There are even places in xserver itself
which replace these two functions.
The segfaults if no reference counting is done are caused because the
reference count of the cursor reached zero, hence the cursor was freed,
however xf86CursorEnableDisableFBAccess() brought it back to life from
the dead (from the SavedCursor).
This patch hence adds reference counting in xf86CursorSetCursor. As per Michel
Daenzer's suggestion, also free the cursor upon xf86CursorCloseScreen.
In theory with this it should be possible to remove the reference
counting in the UseHwCursor functions I think, though it should also be
safe to keep them.

Signed-off-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Michel Dänzer <michel@daenzer.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 67a8c659f2)
2010-03-25 19:31:37 +01:00
composite Update Sun license notices to current X.Org standard form 2009-12-18 17:12:00 -08:00
config config: don't shutdown the libhal ctx if it failed to initialize (#23213) 2009-08-14 11:01:20 +10:00
damageext input: define server-supported protocol versions in one single file. 2009-09-21 21:47:35 +10:00
dbe dbe: Fix indentation 2009-07-17 14:57:50 -04:00
dix Record: Avoid duplicates from replaying frozen events 2010-03-12 14:38:57 +10:00
doc Xephyr & Xserver man page fixes 2009-07-07 17:36:24 -07:00
exa EXA: Don't defragment offscreen memory at allocation time. 2009-12-01 16:45:52 +01:00
fb Fix source pictures getting random transforms after 2d6a8f6683. 2010-01-27 14:58:56 -08:00
glx Fix typos in the swap functions 2010-03-25 02:28:23 -07:00
hw hw/xfree86: move reference counting out of the UseHWCursor[ARGB] functions 2010-03-25 19:31:37 +01:00
include Record: Avoid duplicates from replaying frozen events 2010-03-12 14:38:57 +10:00
m4 dolt: add Cygwin to supported platforms 2009-10-19 11:18:58 +10:00
mi Update Sun license notices to current X.Org standard form 2009-12-18 17:12:00 -08:00
miext Rootless: src drawable window can now be NULL 2009-10-13 12:56:04 -07:00
os os: state effect of -a and -t options more precisely 2010-01-19 17:36:10 +13:00
randr Don't double-swap the RandR PropertyNotify event 2010-02-16 11:30:46 +10:00
record Re-enable RECORD extension. 2010-02-23 10:51:13 +10:00
render Fix crash when all glyphs of a given depth are freed, but not all glyphsets 2010-03-24 11:33:00 -04:00
test test/xi2: fix maximum max_keycode (bug#25492) 2009-12-24 17:55:11 +01:00
Xext Xext: Link to external libraries when necessary. 2010-03-12 14:39:19 +10:00
xfixes Update Sun license notices to current X.Org standard form 2009-12-18 17:12:00 -08:00
Xi Record: Avoid duplicates from replaying frozen events 2010-03-12 14:38:57 +10:00
xkb xkb: make ctrl+alt+keypad + / ctrl+alt+keypad - work again (#25743) 2010-02-05 08:17:58 +10:00
.gitignore Add (ok, fix) support for DTrace under OS X 2009-09-27 23:34:28 -07:00
autogen.sh autogen.sh: Pass --force to autoreconf 2008-07-22 16:55:26 +03:00
configure.ac xserver 1.7.6 2010-03-17 10:50:41 +10:00
COPYING Update Sun license notices to current X.Org standard form 2009-12-18 17:12:00 -08:00
cpprules.in Update xorg.conf man page & sample for changes in Xorg 1.7 2009-09-14 16:03:18 +10:00
Makefile.am Fix 'distcheck' to use host xkb files but install to build dir 2009-10-22 07:53:35 +10:00
shave-libtool.in shave: use CC tag variable on libtool 2009-09-13 16:43:42 +10:00
shave.in shave: hack around the configure ld check for make distcheck. 2009-09-04 16:41:47 +10:00
xorg-server.m4 macros: use PKG_CONFIG variable rather than executable name 2010-01-19 17:35:55 +13:00
xorg-server.pc.in Since font modules are dead, don't mention them in xorg-server.pc 2009-07-09 17:21:07 -04:00