A better approach which ensures we have a L modifier key down if we are told neither are down and atleast one is down... =/
(cherry picked from commit bc13dda345f716bf4de9bfe4e1d85969263b60c2)
It was incorrectly blamed for some crashes a few months ago, and it should be
safe to use until we get an EXA driver to replace it.
(cherry picked from commit 8121f30bd29591fc74fbc680fbbf20210271fa58)
This old behavior was used as a workaround for the menubar behavior in the older server,
but we handle it better now and need to update our screens when we toggle the rootless
state instead.
(cherry picked from commit 508aa95bc2cd3fdc3dff448ec090919bf807d153)
A grep on xorg/* revealed there's no consumer of this define.
Quote Alan Coopersmith:
"The consumer was in past versions of the headers now located
in proto/x11proto - for instance, in X11R6.0's xc/include/Xproto.h,
all the event definitions were only available if NEED_EVENTS were
defined, and all the reply definitions required NEED_REPLIES.
Looks like Xproto.h dropped them by X11R6.3, which didn't have
the #ifdef's anymore, so these are truly ancient now."
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Add various GLX extensions to the list of supported extensions.
Reformat the oddly formatted code in some areas.
Use xalloc and xfree instead of malloc and free.
(cherry picked from commit 755f53eb40c4329d8c82a31cb910c31fdd4ea12e)
Add some commentary about future directions needed for the GLX drawable
creation and destruction code.
Match xalloc with xfree.
I made some minor formatting improvements.
(cherry picked from commit b772d64fce31d16b498c621096e39d5203994d6e)
In attach() check for pDraw being NULL, and also print an ErrorF message,
because we eventually want to track down why this is occuring.
It's unclear how this occurs, but as I noted in the 1.4 branch, I believe that
the DrawablePtr/struct _Drawable -> id is the member being accessed that causes
KERN_PROTECTION_FAILURE at 0x0000000000000004
This passes my tests using: env LIBGL_ALWAYS_INDIRECT=1 ./sometest.
I fixed a warning: caused by initializing the screen->base.visuals with the
configs. It is a ** not a *. It seems that some other part of GLX will
initialize this for us.
(cherry picked from commit 17f6a261fca6d5856069dce28bb4838261afc6bc)
Added a configure option called --enable-standalone-xpbproxy which is useful for deveoping xpbproxy.
The 'active' switch in preferences just disables the in-server xpbproxy (not this standalone).
(cherry picked from commit 42944936326ef8732f622db9f75b79a92980550d)
This prevents visuals with odd sizes. The machine I use didn't have
this problem, but it shows up on some others.
(cherry picked from commit ed181382ddeb77019577d39b9c06b1cd839e18e4)
Use the settings queried from the system in xprScreen.c, rather than those 2 calls.
The 2 calls increased the total number of visuals a great deal (when using GLXEXT),
and not all of the visuals were usable with GLX. Some of the visuals aren't usable
with GLX still, such as DirectColor, but that seems to be acceptable based on my
understanding of the manual that states "a subset of visuals are made available
for OpenGL rendering."
(cherry picked from commit 373b8a5f32509722e06d8776109e6c3f06645ee0)
It was returning inverted values in comparison to the 1.4 branch. This resulted in
the windows not drawing due to a deep path of: RootlessReorderWindow ->
SCREENREC(pScreen)->imp->DoReorderWindow(winRec) - > xprDoReorderWindow ->
AppleWMDoReorderWindow.
(cherry picked from commit d1d398db762fe7d5720f9b5fafa2bbe8372fceac)
GL/capabilities.c: Add handleDepthModes(), and extend
handleRendererDescription() for the various depth and multisampling flags.
Add initialization of the new config options to initConfig().
GL/capabilities.h: Add depth and multisample config members.
GL/visualConfigs.c: Add depth and multisampling support to the visual config
setup.
(cherry picked from commit f527381eea6a8ae6cd791475b2060d21fcf8efb2)
GL/capabilities.c: #if 0 (for now) any capabilities above 8 bits per channel,
because they introduce drawing problems.
GL/indirect.c: Comment out some visual setup code that shouldn't be running, and
actually seemed to cause some problems. The current visualConfigs.c code seems
to do a reasonable job of setting up visuals for XQuartz.
GL/visualConfigs.c: Make use of the proper visual .class. Eliminate depth 0.
It seems we really just want 24 for now, and 0 I think was a flaw in the original
code.
(cherry picked from commit 1e5f63f15e13a40a6e69a1505934d10d6990b6a2)
This is used in libGL to determine a preferred visual. glxinfo -v will also
report "visualCaveat=Slow" for such visuals.
(cherry picked from commit d5c17f585a240be9f9135975738e62951cde3353)
It seems that we were calling copy_completed: too soon. Now we return instead
of falling through to the free_propdata, and copy_completed:.
(cherry picked from commit 5797d5b662817a3369a74a673f4a7c995cde75cf)
Eterm ends up setting the type of the property to TARGETS, instead of ATOM.
That's why it wasn't working.
(cherry picked from commit 9be5998ede7427f14dd9597e117b3d6b427ba4e5)
This may work, unfortunately I don't have test apps that fail.
The way it works is by using an NSImage class initWithPasteboard:
method, which we then get the TIFFRepresentation of, and convert
to PNG or JPEG.
The TIFFRepresentation uses NSTIFFCompressionNone; which should be
lossless.
(cherry picked from commit 8d048cfa956f4a0860250cc836a6748912b37ad8)
This gives us a *lot* more visuals, and they should be more accurate.
Some of the visuals may have been wrong before. This may enable more
OpenGL programs to behave correctly.
I also suspect libGL needs a little work to handle some of these correctly.
(cherry picked from commit 98a084ce9c455260ecdb5f8eecb67f33dbb53b69)
We need to revisit the GL/indirect.c changes. I think indirect.c should
be using the same feature detection and GLX visual config code. The
indirect changes will require testing...
(cherry picked from commit 49b7a7c6f20ca85d4d624444eb83db2f91344591)
Add dump_prefs() for instrospection.
Make prefs_get_bool a little more clear.
In get_property don't assume that the Mac realloc(NULL, 0); returns
non-NULL. We shouldn't depend on implementation-defined behavior too
much.
Add more commentary in various spots.
Add TARGETS in the TARGETS response. I don't know why some X11 apps
do this, but it could be something that some weird toolkit/app tests
for.
In reload_preferences add preferences synchronization, so that xpbproxy
reloads the preferences, and picks up any changes.
Fix a typo/misspelling of the sync_clipboard_to_pasteboard preference.
(cherry picked from commit 165cbbb90c793d9335ea76f0274b1f60ad295903)
Use ErrorF for an error message after an xcalloc failure, and return instead of falling through to GlxSetVisualConfigs, or abort()ing at the test branch.
(cherry picked from commit 1056700971fd5c034396ed6dbea15e092f0c6332)
Commit the darwin.c changes I missed in the last commit, for calling
setVisualConfigs().
(cherry picked from commit eb3c014e1710bf0b93bda10ddb9b795cd150d02d)
Add a setVisualConfigs that is called before the fbScreenInit, to setup the __GLXvisualConfigs.
(cherry picked from commit fc86f9e4482043eca76d9d7a96e166be1aabf674)
instead of calling CFRunLoopRun() directly. The leak wasn't reproducible on
this machine, but someone was able to produce a leak trace with Instruments
that indicates it was leaking in the CFRunLoopRun() path.
x-input.m: dequeue and ignore events when pbproxy_active is false.
x-selection.h: add an is_active method that is used by x-input.m to ignore
events.
x-selection.m: Handle nearly every preference, except for primary_on_grab,
which I don't really understand yet.
(cherry picked from commit 4d51ad851e64da83cbdfb0a4a22428418a7bcf75)
Remove some unnecesssary headers.
Remove some dead code that was never called or used in pbproxy.
Make use of an NSAutoreleasePool in x_init. It could potentially cause a leak
on a startup without this.
Start adding reload_preferences to the x_selection class, as well as event
handling for that.
(cherry picked from commit 602e8ba8f7ee196696bc9e3cea6ecdf3200dcf5c)
Fix the usage of the NSString cStringUsingEncoding: - it doesn't NUL
terminate the string, which lead to a bus error. So, we use
lengthOfBytesUsingEncoding: to get the length in bytes instead of
strlen().
(cherry picked from commit 6333d619e747c3b6bd3ba7557e35c0e5f6daa40f)
2 of the paths leaked, when INCR transfers were done. Now we
are leak free according to the leaks program for all transfers
I have tried so far.
(cherry picked from commit aa98db576bc02f0765cb35d0282a894ba3778213)
NSAutoreleasePool. Now the usage is consistent. In x_input_run()
we create a pool, and release it after processing the XEvents.
Add some getpid() output to main for debugging. It needs a bit more
testing before the next release.
Don't retain the NSPasteboard as the old code did. That may have
contributed to the leak, and it made it so that we needed the
NSAutoreleasePool created in main().
Remove the _known_types, and _pasteboard instance variables from
the x_selection class. They aren't needed anymore.
The leaks program now indicates 0 leaks after some usage. I want
to test further, but this seems much better, and my memory usage
graph indicates it's not growing.
(cherry picked from commit b245d84a72ee3929546cd11a6eba3c60fb4a4d95)
macro causes a leak (according to the leaks program).
Attempt to fix several other leaks with release method calls.
For some reason the process still grows more than it should...
I will need to use some better methods than leaks, and malloc_history
I suspect. Whatever is leaking, it's hard to find. I need to isolate
the cases more.
Add a missing image/jpeg branch.
Remove read_prop_32 - it's not used.
(cherry picked from commit 63a680354dcb545fef935ac97596dd35ceaed960)
Move the struct atom_list into the x-selection class, so that it's
no longer a global variable named atoms. This may ease pthread
integration and reduce the chances of symbols conflicting.
(cherry picked from commit c1403c713ca80104ae3736bd2ed1eb6ffa5192b6)
We may need another branch to convert a PICT to a PNG or JPEG. For now
TIFF works well in all of the test image copying apps when converted to
PNG or JPEG with an NSBitmapImageRep class.
(cherry picked from commit adf339d8f948fc1e308dbcae38fcfce504b5b0ab)