Go to file
Roland Scheidegger 67a8c659f2 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>
2010-03-15 08:37:53 -07:00
composite os: Prevent core dump from being truncated. 2010-02-17 23:20:52 -08:00
config udev: Don't filter subsystem "input" 2010-02-15 15:27:42 +10:00
damageext Add type name argument to CreateNewResourceType 2009-12-18 17:44:12 -08:00
dbe Add type name argument to CreateNewResourceType 2009-12-18 17:44:12 -08:00
dix Record: Avoid duplicates from replaying frozen events 2010-03-12 13:06:22 +10:00
doc doc: finish the removal of SecurityPolicy file man pages 2010-01-27 14:17:17 -08:00
exa EXA/mixed: Clean up exaPrepareAccessReg_mixed() a little. 2010-02-17 23:22:36 -08:00
fb Fix source pictures getting random transforms after 2d6a8f6683. 2010-01-27 14:03:03 -08:00
glx glx: Compile fix to let server compile with new and old mesa 2010-02-24 09:16:46 -08:00
hw hw/xfree86: move reference counting out of the UseHWCursor[ARGB] functions 2010-03-15 08:37:53 -07:00
include Record: Avoid duplicates from replaying frozen events 2010-03-12 13:06:22 +10:00
m4 dolt: add Cygwin to supported platforms 2009-10-13 20:30:22 -07:00
mi Add type name argument to CreateNewResourceType 2009-12-18 17:44:12 -08:00
miext os: Prevent core dump from being truncated. 2010-02-17 23:20:52 -08:00
os os: remove INTERNAL_MALLOC define. 2010-03-11 08:48:48 +10:00
randr Don't double-swap the RandR PropertyNotify event 2010-02-12 14:55:19 -08:00
record Re-enable RECORD extension. 2010-02-22 12:04:28 +10:00
render RENDER: Fix gradient and solid fill pictures with Xinerama, and misc cleanup 2010-01-29 21:38:50 -08:00
test dix: EventToCore needs to copy the root window too. 2010-01-27 14:38:16 -08:00
Xext Xext: Link to external libraries when necessary. 2010-03-12 13:06:30 +10:00
xfixes Add type name argument to CreateNewResourceType 2009-12-18 17:44:12 -08:00
Xi Record: Avoid duplicates from replaying frozen events 2010-03-12 13:06:22 +10:00
xkb xkb: sed True -> TRUE and False -> FALSE 2010-02-02 10:03:30 +10:00
.gitignore .gitignore: use common defaults with custom section #24239 2009-11-11 21:40:20 -08:00
autogen.sh autogen.sh: Pass --force to autoreconf 2008-07-22 16:55:26 +03:00
configure.ac Xext: Link to external libraries when necessary. 2010-03-12 13:06:30 +10:00
COPYING Update Sun license notices to current X.Org standard form 2009-12-16 17:11:35 -08:00
cpprules.in man: add missing __datadir__ for Xserver XWin man pages 2010-01-27 14:16:25 -08:00
Makefile.am INSTALL, NEWS, README or AUTHORS files are missing/incorrect #24206 2009-11-11 21:44:24 -08:00
README packaging: provide a default README file #24206 2010-01-27 14:00:17 -08:00
xorg-server.m4 macros: use PKG_CONFIG variable rather than executable name 2010-01-07 12:57:23 -08: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

					X Server

The X server accepts requests from client applications to create windows,
which are (normally rectangular) "virtual screens" that the client program
can draw into.

Windows are then composed on the actual screen by the X server
(or by a separate composite manager) as directed by the window manager,
which usually communicates with the user via graphical controls such as buttons
and draggable titlebars and borders.

For a comprehensive overview of X Server and X Window System, consult the
following article:
http://en.wikipedia.org/wiki/X_server

All questions regarding this software should be directed at the
Xorg mailing list:

        http://lists.freedesktop.org/mailman/listinfo/xorg

Please submit bug reports to the Xorg bugzilla:

        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg

The master development code repository can be found at:

        git://anongit.freedesktop.org/git/xorg/xserver

        http://cgit.freedesktop.org/xorg/xserver

For patch submission instructions, see:

	http://www.x.org/wiki/Development/Documentation/SubmittingPatches

For more information on the git code manager, see:

        http://wiki.x.org/wiki/GitPage