summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-04-18Only set XI2 mask if pointer emulation is for XI2 clientChase Douglas1-1/+2
The current code returns a reference to memory that may not actually be an XI2 mask. Instead, only return a value when an XI2 client has selected for events. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-04-18Check core event mask properly for pointer emulated touch eventsChase Douglas1-6/+12
The current code checks the core event mask as though it were an XI2 mask. This change fixes the checks so the proper client and event masks are used. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-04-18Added resourceproto version dependency, >= 1.2.0 now requiredErkki Seppälä1-1/+1
Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi>
2012-04-18dix: add reference count of the resource to ResourceSizeRecErkki Seppälä4-8/+490
The ResourceSizeRec now contains the number of references to the resource. For example a Pixmap knows this value and it can be useful for determining the "weight" of the resource. Typically this value is 1. Reviewed-by: Rami Ylimäki <rami.ylimaki@vincit.fi> Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi>
2012-04-18Xext: add a generic hashtable implementationErkki Seppälä5-2/+593
The generic hashtable implementation adds a key-value container, that keeps the key and value inside the hashtable structure and manages their memory by itself. This data structure is best suited for fixed-length keys and values. One creates a new hash table with ht_create and disposes it with ht_destroy. ht_create accepts the key and value sizes (in bytes) in addition to the hashing and comparison functions to use. When adding keys with ht_add, they will be copied into the hash and a pointer to the value will be returned: data may be put into this structure (or if the hash table is to be used as a set, one can just not put anything in). The hash table comes also with one generic hashing function plus a comparison function to facilitate ease of use. It also has a custom hashing and comparison functions for hashing resource IDs with HashXID. Reviewed-by: Rami Ylimäki <rami.ylimaki@vincit.fi> Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi>
2012-04-18dix: don't use a local wrapper for calling HashResourceIDErkki Seppälä2-18/+20
Calls to Hash(client, id) were replaced with calls directly to HashResourceID(id, clientTable[client].hashsize) and the Hash-function was removed. Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi>
2012-04-18dix: add hashing functions to resource.h for others to use.Erkki Seppälä2-16/+34
The public hashing function HashResourceID uses the same hashing hashing algorithm as resource.c uses internally, but it provides an interface that will is usable by external modules. It provides a parameter for the number of bits for the hash, instead of finding the size from its internal hash table. Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi>
2012-04-18dix: add a mechanism for iterating through all subresourcesErkki Seppälä2-1/+139
The mechanism allows iterating even through subresources that don't have specific XID's. When such 'resources' are iterated, the XID for them will be zero. A resource type can assign an iteration function for its subresources with SetResourceTypeFindSubResFunc; by default resources are assumed not to contain subresources. The purpose of this extension is to enable accurate accounting of the resources a resource consumes or uses. This patch provides the subresource iteration functions for Windows and GCs. Reviewed-by: Rami Ylimäki <rami.ylimaki@vincit.fi> Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi>
2012-04-18composite: Report pixmap usage of client windows to resource extension.Rami Ylimäki2-1/+38
Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi> Signed-off-by: Rami Ylimäki <rami.ylimaki@vincit.fi> Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net> Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2012-04-18render: Report pixmap usage of pictures to resource extension.Rami Ylimäki4-0/+271
Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi> Signed-off-by: Rami Ylimäki <rami.ylimaki@vincit.fi> Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net> Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2012-04-18Implemented first part of XResource extension v1.2: X_XResQueryClientIdsErkki Seppälä2-6/+313
This patch implements a part of the XResource extension v1.2 (as specified in http://patchwork.freedesktop.org/patch/2720/ ). The request implemented is X_XResQueryClientIds. This patch depends on the feature introduced by 1e933665bef26c74196bb7c59910e6a78bcacf0e "dix: Add facilities for client ID tracking." . This latest version also adds Doxygen-formatted comments and takes a better notice of coding conventions (as in http://www.x.org/wiki/CodingStyle ). Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi>
2012-04-18dix: indentation fixPeter Hutterer1-2/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-04-15Merge remote-tracking branch 'whot/for-keith'Keith Packard6-8/+96
2012-04-16Use touch state when querying pointer through core protocolChase Douglas1-2/+1
QueryPointer is part of the core protocol. As such, it knows nothing about touch devices. Touches are converted to button 1 press, pointer motion, and button 1 release for core clients, so we should ensure the pointer state mask has button 1 set when XQueryPointer is used. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-04-16Ensure sequential touches are pointer emulated sequentiallyChase Douglas1-1/+74
Issue: * Two sequential touches (i.e. down, up, down, up) * Both are grabbed by a touch grab * Both have a second listener in the form of a pointer grab or selection * The second and first touches are rejected in that order The first touch must be pointer emulated before the second touch, so the second touch must be paused until the first touch is rejected or accepted and all events are delivered to pointer clients. This change ensures all pointer emulated events are emitted sequentially. It necessarily imposes a delay on further touch events when pointer grabs and selections are used, but there is no way around it. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-04-16Update event type when delivering end event to a pointer listenerChase Douglas1-0/+7
Just like when we deliver to a touch listener, we must convert a touch end event to an update event for further clients. This also ensures that the touch record is not deleted at the end of ProcessTouchEvent(). Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-04-16Don't update listener after deactivating implicit pointer grabChase Douglas1-1/+3
After the pointer grab is deactivated, the touch listener record is updated at the end of DeliverTouchEmulatedEvent. However, the touch record is ended when the grab is deactivated, so the update to the listener record is in an array of memory that has been freed. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-04-16xfree86: after VT switching back, only enable previously enabled devicesPeter Hutterer2-2/+9
If a device was enabled before the VT switch, re-enabled it. Otherwise leave it as is, there was probably a reason why it was disabled. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2012-04-12dix: don't BUG_WARN for button events from button-only deviceDaniel Kurtz1-1/+1
Events from button-only devices still need coordinates, and they get them from scale_to_desktop(). Therefore, a dev without valuators is not a bug. However, a dev with valuators, but less than two of them still is a bug. This was noticed when unplugging a "Creative Technology SB Arena Headset", which has some BTNs and some KEYs, but no REL or ABS valuators. It emits [BTN_3] = 0 on unplug, which would trigger the BUG_WARN. Signed-off-by: Daniel Kurtz <djkurtz@chromium.org> Reviewed-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-04-11hw/xfree86: Re-indent xf86vmode.cKeith Packard1-346/+480
This is the result of re-running the 'x-indent.sh' script over xf86vmode.c to clean up the disaster caused by broken syntax in the file. Signed-off-by: Keith Packard <keithp@keithp.com>
2012-04-11hw/xfree86: Spurious ');' in xf86vmode.c messed up indentation badlyKeith Packard1-1/+1
Inside the unfinished XF86VIDMODE_EVENTS #ifdef block the function definition for xf86VidModeNotifyEvent had an extra ');' before the prototype argument declarations. This was harmless for the compiler as the code never gets used, but completely messed up the file re-indentation. This patch removes the spurious characters in preparation for re-indenting the file. Signed-off-by: Keith Packard <keithp@keithp.com>
2012-04-11Xi: fix XITouchClass sourceid assignmentPeter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
2012-04-08Revert "xfree86: workaround crash on close"Keith Packard1-2/+1
This reverts commit 55f552adb651715d2620db7248cd5b9b8187654a. This appears to cause a crash at init time instead of close. Reported-by: Knut Petersen <Knut_Petersen@t-online.de> Acked-by: Jeremy Huddleston <jeremyhu@apple.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2012-04-05xfree86: link modules against Xorg symbols on CygwinYaakov Selkowitz3-4/+27
As a PE platform, all symbols in both EXEs and DLLs must be resolved at link time. As Xorg modules depend on symbols in the Xorg executable, we must build Xorg before its modules, creating an implib from the former which is used to link the latter. This implib must then be installed in order to build the drivers. Currently only two drivers are supported on Cygwin: xf86-video-dummy (to replace Xvfb/Xfake) and xf86-video-nested (to replace Xnest/Xephyr). Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-04-05xf86Config: load DIX libraries before drivers on CygwinYaakov Selkowitz1-0/+5
Cygwin doesn't have ELF rpath capabilities, so these libraries need to be loaded before the drivers (namely dummy and nested) which depend on their symbols. Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-04-05xf86Init: provide ddxBeforeReset ifdef DDXBEFORERESETYaakov Selkowitz1-0/+7
This is necessary when building Xorg and XWin simultaneously, otherwise undefined symbol errors result in sdksyms.c. Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-04-05loader: add Cygwin supportYaakov Selkowitz2-1/+19
Cygwin libraries use the .dll extension and "cyg" prefix in place of "lib". Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-04-05os-support: add Cygwin supportYaakov Selkowitz1-1/+1
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-04-05xfree86: allow modules to be built without undefined symbolsYaakov Selkowitz11-26/+43
This will be necessary to port Xorg to Cygwin, but other platforms may find this useful as well. Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-04-05Cygwin/X: disable all unused or unapplicable extensions in configureYaakov Selkowitz1-0/+10
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-04-05xf86Crtc: include "xf86xv.h" only if XVYaakov Selkowitz1-0/+2
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-04-05Implement passive touch ungrabbingChase Douglas1-2/+7
Whoops. Forgot to implement this. The code currently generates an error due to the unhandled grab type. X.Org Bug 48069 <https://bugs.freedesktop.org/show_bug.cgi?id=48069> Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Keith Packard <keithp@keithp.com>
2012-04-05XQuartz: Automatically start our virtual tablet devicesJeremy Huddleston1-3/+3
Fixes: https://bugs.launchpad.net/inkscape/+bug/972914 Regression introduced by: 7790dc86384cc451ac44663737fde84dd81ad4e1 Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-03-30XQuartz: Tiger build fixJeremy Huddleston1-6/+8
Fixes: https://trac.macports.org/ticket/33818 Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-03-30os: Fix regression with FatalError not calling va_startJeremy Huddleston1-0/+2
Regression From: a818b305989bbcde4e585112a7ee70cbc0b14a92 Found-by: Colin Harrison <colin.harrison@virgin.net> Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-03-30xfree86: workaround crash on closeMichal Suchanek1-1/+2
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=41653 Signed-off-by: Michal Suchanek <hramrach@gmail.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-03-29test: reset the client before checking the swapped versionPeter Hutterer1-0/+1
As of 2c23ef83b0e03e163aeeb06133538606886f4e9c, the server returns BadValue for the same client with multiple versions. Avoid this by resetting the client before we issue the same request as a fake swap client. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> Tested-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-03-29test: init the sync extensions for tests to pass againPeter Hutterer2-0/+27
Introduced in d645edd11e7482f98c8b7e0d6c8693285c484907 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> Tested-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-03-29Bump input ABI to 17 for per-device idlecountersPeter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-03-26Merge remote-tracking branch 'jeremyhu/master'Keith Packard80-4708/+5343
2012-03-26man: s/__xservername__/Xorg/g - no longer requiredGaetan Nadon6-69/+69
Excerpt from http://lists.x.org/archives/xorg-devel/2011-March/020481.html: The Xorg & xorg.conf substitutions are leftover from the transitional period where some distros were building our sources with the XFree86 and XF86config names until they had time to adjust the rest of their packages/installer/config code to the new names. This will fix inconsistencies and prevent the creation of new unneeded sed patterns. Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Gaetan Nadon <memsize@videotron.ca> Signed-off-by: Keith Packard <keithp@keithp.com>
2012-03-26man: s/__xconfigfile__/xorg.conf/g - no longer requiredGaetan Nadon6-52/+52
Excerpt from http://lists.x.org/archives/xorg-devel/2011-March/020481.html: The Xorg & xorg.conf substitutions are leftover from the transitional period where some distros were building our sources with the XFree86 and XF86config names until they had time to adjust the rest of their packages/installer/config code to the new names. This will fix inconsistencies and prevent the creation of new unneeded sed patterns. Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Gaetan Nadon <memsize@videotron.ca> Signed-off-by: Keith Packard <keithp@keithp.com>
2012-03-26XQuartz: Use scrolling valuatorsJeremy Huddleston4-48/+43
This lets use send more accurate data to Xi clients and uses dix for legacy scroll buttons rather than reinventing the wheel. Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-03-26XQuartz: Use AllocDevicePair to allocate our keyboard and mouse at the same timeJeremy Huddleston1-8/+10
Also correct isMaster to FALSE while we're here. Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-03-26XQuartz: Call update_desktop_dimensions() after updating our screen coordinatesJeremy Huddleston1-0/+3
Fixes: http://xquartz.macosforge.org/trac/ticket/555 Regression from: 8bebb4b4896d8b6ba3309b5b28fce883bb9f8a96 Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-03-25XQuartz: Formatting cleanup for sendX11NSEventJeremy Huddleston1-44/+36
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-03-24XQuartz: Source formatting cleanupJeremy Huddleston68-4636/+5227
indent butchered Objective-C formatting. This patch was created by: 1) Reverting the indent changes in hw/xquartz 2) Editing X11Application.m and chaning some #ifdef logic to work with uncrustify 3) Hand edited some (c) notifications 4) Opened all XQuartz sources in XCode and re-indented (^I) 5) Ran uncrustify with this configuration (as close to the indent rules as I could get): tok_split_gte=false utf8_byte=true utf8_force=true indent_cmt_with_tabs=false indent_align_string=false indent_braces=false indent_braces_no_func=false indent_braces_no_class=false indent_braces_no_struct=false indent_brace_parent=false indent_namespace=false indent_extern=false indent_class=false indent_class_colon=false indent_else_if=false indent_var_def_cont=false indent_func_call_param=false indent_func_def_param=false indent_func_proto_param=false indent_func_class_param=false indent_func_ctor_var_param=false indent_template_param=false indent_func_param_double=false indent_relative_single_line_comments=false indent_col1_comment=false indent_access_spec_body=false indent_paren_nl=false indent_comma_paren=false indent_bool_paren=false indent_first_bool_expr=false indent_square_nl=false indent_preserve_sql=false indent_align_assign=true sp_balance_nested_parens=false align_keep_tabs=false align_with_tabs=false align_on_tabstop=false align_number_left=false align_func_params=false align_same_func_call_params=false align_var_def_colon=true align_var_def_attribute=true align_var_def_inline=true align_right_cmt_mix=false align_on_operator=false align_mix_var_proto=false align_single_line_func=false align_single_line_brace=false align_nl_cont=false align_left_shift=true align_oc_decl_colon=true nl_collapse_empty_body=true nl_assign_leave_one_liners=true nl_class_leave_one_liners=true nl_enum_leave_one_liners=true nl_getset_leave_one_liners=true nl_func_leave_one_liners=true nl_if_leave_one_liners=true nl_multi_line_cond=false nl_multi_line_define=false nl_before_case=true nl_after_case=true nl_after_return=false nl_after_semicolon=true nl_after_brace_open=true nl_after_brace_open_cmt=false nl_after_vbrace_open=false nl_after_vbrace_open_empty=false nl_after_brace_close=false nl_after_vbrace_close=false nl_define_macro=false nl_squeeze_ifdef=false nl_ds_struct_enum_cmt=false nl_ds_struct_enum_close_brace=false nl_create_if_one_liner=false nl_create_for_one_liner=false nl_create_while_one_liner=false ls_for_split_full=false ls_func_split_full=false nl_after_multiline_comment=false eat_blanks_after_open_brace=false eat_blanks_before_close_brace=false mod_full_brace_if_chain=false mod_pawn_semicolon=false mod_full_paren_if_bool=false mod_remove_extra_semicolon=false mod_sort_import=false mod_sort_using=false mod_sort_include=false mod_move_case_break=false mod_remove_empty_return=false cmt_indent_multi=true cmt_c_group=false cmt_c_nl_start=false cmt_c_nl_end=false cmt_cpp_group=false cmt_cpp_nl_start=false cmt_cpp_nl_end=false cmt_cpp_to_c=false cmt_star_cont=false cmt_multi_check_last=true cmt_insert_before_preproc=false pp_indent_at_level=false pp_region_indent_code=false pp_if_indent_code=false pp_define_at_level=false indent_columns=4 indent_brace=0 indent_switch_case=0 align_struct_init_span=2 align_pp_define_gap=0 align_pp_define_span=2 align_oc_msg_colon_span=16 nl_end_of_file_min=1 nl_func_var_def_blk=0 code_width=78 nl_max=2 newlines=auto indent_with_tabs=0 sp_arith=force sp_assign=force sp_assign_default=force sp_before_assign=force sp_after_assign=force sp_enum_assign=force sp_enum_before_assign=force sp_enum_after_assign=force sp_pp_stringify=add sp_bool=force sp_compare=force sp_inside_paren=remove sp_paren_paren=remove sp_paren_brace=force sp_before_ptr_star=ignore sp_before_unnamed_ptr_star=force sp_before_byref=force sp_before_unnamed_byref=force sp_after_byref=remove sp_after_type=force sp_before_sparen=force sp_inside_sparen=remove sp_inside_sparen_close=remove sp_after_sparen=force sp_sparen_brace=force sp_special_semi=force sp_before_semi=remove sp_after_semi=force sp_after_semi_for=force sp_after_semi_for_empty=remove sp_before_square=remove sp_inside_square=remove sp_after_comma=force sp_before_comma=remove sp_paren_comma=force sp_before_ellipsis=force sp_after_class_colon=force sp_before_class_colon=force sp_before_case_colon=remove sp_after_cast=remove sp_inside_paren_cast=remove sp_sizeof_paren=remove sp_inside_braces_enum=force sp_inside_braces_struct=force sp_inside_braces=force sp_inside_braces_empty=remove sp_func_proto_paren=remove sp_func_def_paren=remove sp_inside_fparens=remove sp_inside_fparen=remove sp_square_fparen=remove sp_fparen_brace=force sp_func_call_paren=remove sp_func_call_paren_empty=remove sp_return_paren=force sp_attribute_paren=remove sp_defined_paren=remove sp_macro=force sp_macro_func=force sp_else_brace=force sp_brace_else=force sp_brace_typedef=force sp_not=remove sp_inv=remove nl_start_of_file=remove nl_end_of_file=force nl_assign_square=remove nl_after_square_assign=remove nl_fcall_brace=remove nl_enum_brace=remove nl_struct_brace=remove nl_union_brace=remove nl_if_brace=remove nl_brace_else=force nl_elseif_brace=remove nl_else_brace=remove nl_else_if=remove nl_for_brace=remove nl_do_brace=remove nl_brace_while=remove nl_switch_brace=remove nl_case_colon_brace=force nl_func_type_name=force nl_func_type_name_class=force nl_func_proto_type_name=force nl_func_paren=remove nl_func_def_paren=remove nl_func_decl_start=remove nl_func_def_start=remove nl_func_decl_args=remove nl_func_decl_end=remove nl_func_def_end=remove nl_func_decl_end_single=remove nl_func_def_end_single=remove nl_func_decl_empty=remove nl_func_def_empty=remove nl_fdef_brace=force nl_return_expr=remove nl_before_if=ignore nl_after_if=ignore nl_before_for=ignore nl_after_for=ignore nl_before_while=ignore nl_after_while=ignore nl_before_switch=ignore nl_after_switch=ignore nl_before_do=ignore nl_after_do=ignore pp_space=remove Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-03-24XQuartz: Detect FatalErrors on startup to prevent tight crash loopsJeremy Huddleston4-1/+51
If a FatalError occurs before the server finishes launching, it will not have drained the launchd-owned DISPLAY socket, so launchd will just relaunch it. This can cause the server to crash in a tight loop which will spam the user with CrashReporter windows that claim focus on appearance. This allows users stuck in this loop to "deal" with the problem without popping up a crash report every 10 seconds. Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-03-24os: Pass the FatalError message to OsVendorFatalErrorJeremy Huddleston11-19/+20
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-03-24XQuartz: Add a defaults option to disable the RENDER extensionJeremy Huddleston2-0/+5
RENDER has some ugly issues on XQuartz, so add an option to disable RENDER. Enables workaround for: https://bugs.freedesktop.org/show_bug.cgi?id=26124 Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>