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.
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.
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.
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.
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().
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.
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.
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.
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.
INCR transfers mixed with a CLIPBOARD change.
Fix a bug with some UTF-8 transfers. I can only guess that my UTF-8
tests before were inadequate. I can now copy/paste any characters between
uxterm and Textedit.app.