summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-09-05Version bumped to 1.13xorg-server-1.13.0Keith Packard1-3/+3
Signed-off-by: Keith Packard <keithp@keithp.com>
2012-09-05Merge remote-tracking branch 'jeremyhu/master'Keith Packard4-6/+23
2012-09-04xf86: call enter/leave VT for gpu screens as wellDave Airlie1-0/+11
Otherwise we can't do fast user switch properly for multiple GPUs. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-09-04config/udev: respect seat for hotplugged video devices.Dave Airlie1-0/+4
This respects the seat tag for hotplugged video devices at X start. Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-09-04config/udev: add wrapper around check if server is not seat 0Dave Airlie2-2/+4
this is a simple clean-up that is useful to stop further propogation of this construct. Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-09-04dix: free default colormap before screen deletionDave Airlie1-0/+4
If we don't free this here, it gets freed later in the resource cleanups, however it then looks up up pmap->pScreen, which we freed already in this function. So free the default colormap when we should. This fixes a bug after a couple of hotplug cycles when you try to exit the X server and it crashes. Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-09-04xf86/crtc: don't free config->nameDave Airlie1-2/+0
This is set by pre_init not screen init, so if we free it here and then recycle the server, we lose all the providers. I think we need to wrap FreeScreen here to do this properly, will investigate for 1.14 most likely, safer to just leak this on server exit for now. Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-08-29list: Use offsetof() and typeof() to determine member offsets within a structureJeremy Huddleston Sequoia3-4/+21
Some compilers have difficulty with the previous implementation which relies on undefined behavior according to the C standard. Using offsetof() from <stddef.h> (which most likely just uses __builtin_offsetof on modern compilers) allows us to accomplish this without ambiguity. This fix also requires support for typeof(). If your compiler does not support typeof(), then the old implementation will be used. If you see failures in test/list, please try a more modern compiler. v2: Added fallback if typeof() is not present. Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-08-29tests: move GCC diagnostics pragma outside of functionPeter Hutterer1-2/+2
This is a a gcc 4.6+ feature. signal-logging.c:210: error: #pragma GCC diagnostic not allowed inside functions Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2012-08-28test/list: Fix test_xorg_list_del testJeremy Huddleston Sequoia1-2/+2
We never use child[2], so it's state is undefined. This issue seems to have existed since the test was first written: 92788e677be79bd04e5ef140f4ced50ad8b1bf8e Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-08-27XQuartz: Bump Info.plist version to 2.7.4Jeremy Huddleston Sequoia1-2/+2
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-08-27test: Make os test more compliantJeremy Huddleston Sequoia1-1/+1
sighandler_t is not UNIX. Regression from: 7f09126e068015db54c56bb982b8f91065375700 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-08-27Merge remote-tracking branch 'whot/for-keith'Keith Packard6-25/+270
2012-08-23os: fix typo, fsync when WIN32 is _not_ definedPeter Hutterer1-1/+1
Introduced in 164b38c72fe9c69d13ea4f9c46d4ccc46566d826 Reported-by: Jon TURNEY <jon.turney@dronecode.org.uk> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Keith Packard <keithp@keithp.com>
2012-08-23mi: don't check for core events in miPointerSetPosition (#53568)Peter Hutterer1-1/+1
As of 81cfe44b1ed0de84ad1941fe2ca74bebef3fc58d, miPointerSetPosition now returns the screen pointer of the device. This broke floating slave devices, as soon as a motion event was submitted, miPointerSetPosition returned NULL, crashing the server. dev->coreEvents is only false if the device is a floating slave, in which case it has a sprite. X.Org Bug 53568 <http://bugs.freedesktop.org/show_bug.cgi?id=53568> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Keith Packard <keithp@keithp.com>
2012-08-21Relase 1.12.99.905xorg-server-1.12.99.905Keith Packard1-3/+3
RC with updated ABI version numbers. Signed-off-by: Keith Packard <keithp@keithp.com>
2012-08-21dix: work around scaling issues during WarpPointer (#53037)Peter Hutterer1-1/+17
In WarpPointer calls, we get input in screen coordinates. They must be scaled to device coordinates, and then back to screen coordinates for screen crossing and root coordinates in events. The rounding errors introduced (and clipping in core/XI 1.x events) can lead to the actual position being different to the requested input coordinates. e.g. 200 scales to 199.9999, truncated to 199 in the event. Avoid this by simply overwriting the scaled screen coordinates with the input coordinates for the POINTER_SCREEN case. X.Org Bug 53037 <http://bugs.freedesktop.org/show_bug.cgi?id=53037> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Keith Packard <keithp@keithp.com>
2012-08-21os: don't block signal-unsafe logging, merely warn about it.Peter Hutterer1-14/+24
Throw an error into the log file, but continue anyway. And after three warnings, stop complaining. Not all input drivers will be fixed in time (or ever) and our printf implementation is vastly inferior, so there is still a use-case for non-sigsafe logging. This also adds more linebreaks to the message. CC: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
2012-08-21os: add support for %d and %i to pnprintfPeter Hutterer2-0/+31
The mouse driver uses %i in some debug messages Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
2012-08-21Add FormatInt64 to convert signed integers in signal-safe mannerPeter Hutterer3-3/+92
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
2012-08-21test: add a few tests for signal-safe loggingPeter Hutterer1-0/+101
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
2012-08-21test: assert from signal-safe number conversionPeter Hutterer1-6/+4
Throw an assert when the conversion fails instead of just returning. Asserts are more informative. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
2012-08-17xfree86: Bump extension ABI to 7.0Aaron Plattner1-1/+1
Commit 9d457f9c55f12106ba44c1c9db59d14f978f0ae8 added an array of DevPrivateSetRec structures in the middle of the ScreenRec, which throws off extension modules trying to call things like pScreen->DestroyPixmap. Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2012-08-16XQuartz: Use asl_log_descriptor for children as wellJeremy Huddleston Sequoia1-2/+60
This change is #if'd out due to a bug in asl_log_descriptor, but it is left here as reference to be enabled in the future. Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-08-16XQuartz: Use asl_log_descriptor on Mountain LionJeremy Huddleston Sequoia1-0/+17
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-08-16XQuartz: console_redirect: Properly zero-out the tail of the array on realloc()Jeremy Huddleston Sequoia1-2/+2
We forgot to multiply by sizeof(), so it wasn't fully zeroed out. Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-08-16XQuartz: console_redirect: Set the correct location for reading into the bufferJeremy Huddleston Sequoia1-9/+15
Prior to this change, it was possible that a large message would have some of its data prepended to subsequent messages due to our not incorrectly setting the location to write into the buffer. Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-08-15Merge remote-tracking branch 'jeremyhu/master'Keith Packard1-0/+1
2012-08-15glx: Skip multisampled configs when matching pre-existing X visuals.Paul Berry1-0/+3
In __glXScreenInit() we generate the set of GLX visuals in two steps: first we match each pre-existing X visual with a corresponding FBConfig, then we generate a new X visual to correspond to all the remaining FBConfigs. The first step is used for the two default 24-bit visuals (true color and direct color) and for the 32-bit visual. If windowsystem multisampling is enabled in Mesa, we need to ensure that none of these three visuals gets matched to a multisampled config. Fixes a bug with windowsystem multisampling in gnome-shell. If the X server happens to match up a multisampled FBConfig to the 32-bit visual, gnome-shell will try to use it to read pixels from alpha-blended windows (such as gnome-terminal), resulting in no window appearing on screen. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Chad Versace <chad.versace@linux.intel.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2012-08-15XQuartz: Fix build regression for GlxExtensionInitJeremy Huddleston1-0/+1
quartz.c:153:6: error: use of undeclared identifier 'GlxExtensionInit'; did you mean 'GEExtensionInit'? [Semantic Issue] {GlxExtensionInit, "GLX", &noGlxExtension}, Regression-from: aad428b8e21c77397c623b78706eb64b1fea77c9 Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-08-14Kludge -- Call RandR screen before cleaning up xf86 crtcsKeith Packard1-4/+7
The core RandR screen cleanup now involves cleaning up any GPU screen associations, and those call down into DDX to clean up the driver. If the pointers from the xf86 structures back to the core randr structures are set to NULL at that point, bad things happen. This patch "knows" that the core RandR close screen is underneath the xf86 randr close screen function, and so makes sure it gets called first. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
2012-08-14Close GPU screens before core screensKeith Packard1-9/+9
This should make cleaning up the GPU screens easier as the core screens they are associated with will still be around. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
2012-08-14Only free Render filter names on last screen closeKeith Packard1-1/+4
Hotplugging screens causes the render filter names to get freed while still in use; wait for the last core screen to be closed before freeing them. That only happens at server reset, when we want them to be freed. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
2012-08-14fb: reorder Bresenham error correction to avoid overshoot.Simon Schubert1-9/+9
When fbBresSolid draws a line, it can happen that after the last pixel, the Bresenham error term overflows, and fbBresSolid paints another pixel before adjusting the error term. However, if this happens on the last pixel (len=0), this extra pixel might overshoot the boundary, and, in rare cases, lead to a segfault. Fix this issue by adjusting for the Bresenham error term before drawing the main pixel, not after. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=24274 Signed-off-by: Simon Schubert <2@0x2c.or> Tested-by: Mitch Davis <mjd+freedesktop.org@afork.com> Signed-off-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2012-08-07Release 1.12.99.904xorg-server-1.12.99.904Keith Packard1-2/+3
Closing the non-critical bug window for 1.13 Signed-off-by: Keith Packard <keithp@keithp.com>
2012-08-07Distribute include/glx_extinit.hKeith Packard1-0/+1
This changed should have been in aad428b8e21c77397c623b78706eb64b1fea77c9 Signed-off-by: Keith Packard <keithp@keithp.com>
2012-08-07Bump glproto requirement to 1.4.16Julien Cristau1-1/+1
Signed-off-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2012-08-06Merge remote-tracking branch 'whot/for-keith'Keith Packard3-8/+43
2012-08-06Merge remote-tracking branch 'airlied/for-keithp'Keith Packard2-1/+11
2012-08-06Merge remote-tracking branch 'alanc/master'Keith Packard18-809/+967
2012-08-07os: don't unconditionally unblock SIGIO in OsReleaseSignals()Peter Hutterer2-8/+41
Calling OsReleaseSignal() inside the signal handler releases SIGIO, causing the signal handler to be called again from within the handler. Practical use-case: when synaptics calls TimerSet in the signal handler, this causes the signals to be released, eventually hanging the server. Regression introduced in 08962951de. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-08-07dix: make sure the mask is set for emulated scroll events (#52508)Peter Hutterer1-0/+2
If a device has smooth scrolling axes, but submits scroll button events, we convert those to motion events and update the valuators. For legacy button events, the valuator mask is likely unset though, causing add_to_scroll_valuator() to return early, leaving us with an empty mask. That again skipped the rest of the code and no events were generated. Fix it by making sure that the scroll valuator in the mask is at least initialized to 0. Broke evdev wheel emulation, introduced by 54476b5e4461ff523e935961affabcf0de12c556. X.Org Bug 52508 <http://bugs.freedesktop.org/show_bug.cgi?id=52508> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
2012-08-06sync: Fix logic error from b55bf248581dc66321b24b29f199f6dc8d02db1bAdam Jackson1-12/+12
That commit adds two hunks, and I _think_ they're backwards. It adds code to modify bracket_greater on NegativeTransition triggers, and bracket_less on PositiveTransition triggers. That breaks symmetry with the surrounding code; the code as of this commit could probably be simplified further. I can't keep the sync trigger rules in my head for more than about five minutes at a time, so I'm sending this on for more eyes. RHEL 6.3's xserver is shipping with b55bf248 reverted: https://bugzilla.redhat.com/show_bug.cgi?id=748704#c33 And there appear to be some upstream reports of the same issue: https://bugzilla.gnome.org/show_bug.cgi?id=658955 So I'd like to get this sorted out. Signed-off-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Keith Packard <keithp@keithp.com>
2012-08-06randr: fix xinerama output for output slavesDave Airlie1-1/+19
This fixes the xinerama geometry when output slaves are enabled. Tested with xdpyinfo -ext XINERAMA before after slave added. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2012-08-07dri2: fix master pixmap free and reset pointerDave Airlie1-1/+2
These are two minor changes, one to reset the pointer to NULL, after freeing the pixmaps, one to make sure we use the right API for the master pixmap, though I doubt it'll ever really matter. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-08-07dri2: free slave pixmap on app exitDave Airlie1-0/+5
When the drawable disappears we need to free the prime master/slave combos. This fixes a leak after a prime app is run. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-08-07pixmap: have slave pixmap take a reference on master pixmapDave Airlie1-0/+4
Since the free routines free the master pixmap then the slave, we should be taking a reference when we bind them together. Fixes a use-after-free when resizing a primed gears. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-08-06Make indentation of dix/tables.c much more consistent and readableAlan Coopersmith1-395/+560
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Acked-by: Daniel Stone <daniel@fooishbar.org>
2012-08-06Fix up formatting of initializers for arrays of structsAlan Coopersmith14-409/+384
The indenter seems to have gotten confused by initializing arrays of structs with the struct defined inline - for predefined structs it did a better job, so match that. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2012-08-06RRModeCreate: plug memory leak of newModes if AddResource failsAlan Coopersmith1-1/+3
Reported by parfait 1.0: Error: Memory leak (CWE 401) Memory leak of pointer 'newModes' allocated with realloc(((char*)modes), ((num_modes + 1) * 8)) at line 93 of randr/rrmode.c in function 'RRModeCreate'. pointer allocated at line 82 with realloc(((char*)modes), ((num_modes + 1) * 8)). Error: Memory leak (CWE 401) Memory leak of pointer 'newModes' allocated with malloc(8) at line 93 of randr/rrmode.c in function 'RRModeCreate'. pointer allocated at line 84 with malloc(8). Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Keith Packard <keithp@keithp.com>