Commit Graph

74 Commits

Author SHA1 Message Date
Daniel Martin
d5379b350f Use ARRAY_SIZE all over the tree
Roundhouse kick replacing the various (sizeof(foo)/sizeof(foo[0])) with
the ARRAY_SIZE macro from dix.h when possible. A semantic patch for
coccinelle has been used first. Additionally, a few macros have been
inlined as they had only one or two users.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
2017-10-30 13:45:20 -04:00
Jeremy Huddleston Sequoia
3a6fa11575 XQuartz: Silence -Wunused-function
quartzKeyboard.c:741:1: warning: unused function 'macroman2ucs' [-Wunused-function,Unused Entity Issue]
macroman2ucs(unsigned char c)
^
1 warning generated.

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2015-06-09 23:42:03 -07:00
Jeremy Huddleston
5324557c7b XQuartz: Source formatting cleanup
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-24 01:07:06 -07:00
Keith Packard
9838b7032e Introduce a consistent coding style
This is strictly the application of the script 'x-indent-all.sh'
from util/modular. Compared to the patch that Daniel posted in
January, I've added a few indent flags:

	-bap
	-psl
	-T PrivatePtr
	-T pmWait
	-T _XFUNCPROTOBEGIN
	-T _XFUNCPROTOEND
	-T _X_EXPORT

The typedefs were needed to make the output of sdksyms.sh match the
previous output, otherwise, the code is formatted badly enough that
sdksyms.sh generates incorrect output.

The generated code was compared with the previous version and found to
be essentially identical -- "assert" line numbers and BUILD_TIME were
the only differences found.

The comparison was done with this script:

dir1=$1
dir2=$2

for dir in $dir1 $dir2; do
	(cd $dir && find . -name '*.o' | while read file; do
		dir=`dirname $file`
		base=`basename $file .o`
		dump=$dir/$base.dump
		objdump -d $file > $dump
	done)
done

find $dir1 -name '*.dump' | while read dump; do
	otherdump=`echo $dump | sed "s;$dir1;$dir2;"`
	diff -u $dump $otherdump
done

Signed-off-by: Keith Packard <keithp@keithp.com>
Acked-by: Daniel Stone <daniel@fooishbar.org>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2012-03-21 13:54:42 -07:00
Jeremy Huddleston
f144fb771f XQuartz: Don't circumvent NDEBUG
If someone wants to turn off asserts with NDEBUG, let them.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-13 09:10:42 -07:00
Jeremy Huddleston
6f29dbf5e3 XQuartz: Use ErrorF rather than fprintf to log errors
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 22:00:41 -07:00
Jeremy Huddleston
d0caa0e4cd XQuartz: Silence warnings about deprecated functionality where it is an intended fallback
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:03 -07:00
Jeremy Huddleston
3e253c603b XQuartz: Remove the threadSafety dead-ish code
It's been a few years now since we've needed this to debug thread
boundaries, so punt it out to clean up the namespace polution.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:02 -07:00
Jeremy Huddleston
883039e07b XQuartz: Just NSBeep() for XBell()
The CoreAudio path uses deprecated API and has reported crashes that
aren't worth fixing (4e8bf12b13 fixed
one and introduced another).  NSBeep() does the job just fine.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-12-08 13:57:19 -08:00
Jeremy Huddleston
229323a19b XQuartz: RandR: Don't change the rootless preference when changing RandR mode
Also renames a bunch of other variables for better consistency.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-09-28 09:50:35 -07:00
Jeremy Huddleston
5e1ef1f4dd XQuartz: Add more sanity checking around string manipulation for xmodmap
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-06-08 13:01:10 -07:00
Jeremy Huddleston
840d12c7a6 XQuartz: Add a defaults option to toggle Alt / Mode_switch
See option_sends_alt in Xquartz(1)

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Kevin Van Vechten <kvv@apple.com>
2010-04-11 16:30:19 -07:00
Jeremy Huddleston
d6f160510a XQuartz: Blacklist some oddball legacy Mac keycodes that break wine
http://xquartz.macosforge.org/trac/ticket/295

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Kevin Van Vechten <kvv@apple.com>
2010-04-11 16:30:14 -07:00
Jeremy Huddleston
339207be6f XQuartz: Workaround weird key data reported on some layouts
This should make 'Unicode Hex Input' work as an input layout.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Acked-by: Adam Jackson <ajax@redhat.com>
2010-03-29 09:37:10 -07:00
Jeremy Huddleston
eac7cdabec Revert "XQuartz: Explicitly pass a bellProc to make XBell() work again."
I'm not quite sure why this was necessary, but DDXRingBell is being called
from CoreKeyboardBell, so we don't need a separate bellProc which would
result in multiple rings.

This reverts commit 9071b0d697.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-03-21 21:56:39 -07:00
Jeremy Huddleston
5172253bae XQuartz: Use an empty xkb keymap by default
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-03-11 22:27:38 -08:00
Jeremy Huddleston
4127e8e5be XQuartz: clang static analysis fixes
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-02-15 15:03:49 -08:00
Jeremy Huddleston
6008cc1164 XQuartz: Setup the modifier map in the quartz thread
This avoids possible doing it twice which could result in incorrect
keycodes for alt due to our loss of information about its side.

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-01-13 11:21:28 -08:00
Jeremy Huddleston
9071b0d697 XQuartz: Explicitly pass a bellProc to make XBell() work again.
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-11-11 18:00:19 -08:00
Jeremy Huddleston
15fc56addc XQuartz: Buildfix for Leopard and older
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-11-11 18:00:19 -08:00
Jeremy Huddleston
069fc6ce0a XQuartz: Don't weed out duplicates in generated keymap
There seems to be an issue in the 1.5+ server where shift-space does not
produce a space when 'keycode 57 = space' but it does when 'keycode 57 = space
space'

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-11-05 18:34:50 -08:00
Jeremy Huddleston
6d6e8fb27f XQuartz: Controller thread launches clients
This avoids a memory leak due to no active auto-release pool on the server thread.

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-11-05 18:34:50 -08:00
Jeremy Huddleston
5e79976c13 XQuartz: Run xmodmap after programatically updating the keymap.
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
Signed-off-by: Martin Otte <otte@duke.edu>
2009-11-03 16:35:27 -08:00
Jeremy Huddleston
873467adad XQuartz: Set the proper bitmap for key repeats...
XkbSetRepeatKeys lies and doesn't do what it says it will...
2009-09-30 00:23:47 -07:00
Jeremy Huddleston
f11a356bce XQuartz: Cleaned up keymap setting for easier maintenance
(cherry picked from commit b9dfed9e88)
2009-09-29 00:34:41 -07:00
Jeremy Huddleston
15e15816a2 XQuartz: Fix inverse map from mode_switch to alt
(cherry picked from commit de6cee11e1)
2009-09-27 23:31:23 -07:00
Jeremy Huddleston
226b1033b4 XQuartz: Transition from xEvent based mieq to InternalEvent
(cherry picked from commit a3dbde2de8)
2009-09-27 23:31:07 -07:00
Jeremy Huddleston
7159381881 XQuartz: Nuke duplicate locks that make painful headaches
(cherry picked from commit 1dd56322bd1722f2427fb2d833c5608248b60cf0)
2009-09-26 23:30:46 -07:00
Jeremy Huddleston
e360104880 XQuartz: Purge redundant QuartzBell
(cherry picked from commit de14a63d20)
2009-08-05 16:17:01 -07:00
Jeremy Huddleston
7f28c555b8 XQuartz: Use CopyKeyClass to copy the keymap to the virtual core keyboard.
(cherry picked from commit 9a801d1716)
2009-07-25 20:19:05 -07:00
Jeremy Huddleston
1031ac3a73 Revert "XQuartz: Copy the keyboard map to the core keyboard"
This reverts commit 795de791cf.
2009-07-25 20:18:38 -07:00
Jeremy Huddleston
795de791cf XQuartz: Copy the keyboard map to the core keyboard
This still doesn't handle the modifier map... gotta figure out what to do now that SwitchCoreKeyboard is gone
(cherry picked from commit 427e1aab41)
2009-07-25 15:25:06 -07:00
Jeremy Huddleston
53ae6b6338 XQuartz: Cleanup keymap locking, fix a possible synchro bug
(cherry picked from commit 33e7437a49)
2009-07-15 23:18:35 -07:00
Peter Hutterer
b406886bbf input: allow NULL as XkbRMVLOSet in InitKeyboardDeviceStruct.
Virtually all callers use
    XkbGetRulesDefault(&rmlvo);
    InitKeyboardDeviceStruct(..., rmlvo);

Let's save them the trouble and accept NULL as a hint to take the
default RMLVO.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Benjamin Close <Benjamin.Close@clearchain.com>
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2009-04-17 10:03:40 +10:00
Jeremy Huddleston
7907b37d96 XQuartz: Don't erase the mode_switch+keysym if it's the same as shift+keysym
(cherry picked from commit 3e2427e6e9)
2009-02-26 21:26:01 -08:00
Jeremy Huddleston
c7c50157b5 XQuartz: quartzKeyboard compile fixes for recent XKB Changes
Seems we're less divorced from XKB than we'd like for now... hopefully not having any rules installed will still let us override things the way we want to...
2009-02-22 00:29:48 -08:00
Daniel Stone
f06a9d2e05 Input: Clean up keymap change notifications
Keyboard map notifications are always generated from within XKB code,
which also takes care of copying the keysyms, etc.  If you need to
mangle the keymap yourself, generate a new core keymap/modmap, and pass
it to XkbApplyMappingChange.

SendMappingNotify is renamed to SendPointerMappingNotify (and ditto its
Device variants), which still only _sends_ the notifications, as opposed
to also doing the copying a la XkbApplyMappingChange.

Also have the modmap change code traverse the device hierachy, rather
than just going off the core keyboard.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2009-01-22 15:08:58 +11:00
Daniel Stone
32db27a7f8 Input: Remove modifierMap from core
We already have modmap (in the exact same format!) in XKB, so just use
that all the time, instead of duplicating the information.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-22 15:08:55 +11:00
Daniel Stone
f062e90a95 Input: Remove modifierKeyMap
Since modifierKeyMap is generated from modifierMap, just remove it, and
only generate it when we need to send the modifier map to the client.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-22 15:08:55 +11:00
Jeremy Huddleston
1beff89810 XQuartz: misc 1.6 updates (still --disable-glx)
rlAccel is not longer compatable, and it's not worth fixing
  Don't override DeviceCursorInitialize with a noop
  Don't do a SwitchCoreKeyboard (which wasn't even needed in the first place)
(cherry picked from commit c137f68168)
2009-01-11 01:55:26 -08:00
Jeremy Huddleston
fc14d52297 XQuartz: Use AvailabilityMacros.h instead of availability.h for Tiger
(cherry picked from commit 91f3c34357)
2009-01-07 01:48:23 -08:00
Jeremy Huddleston
3986b683ad XQuartz: Honor system key repeat rate
(cherry picked from commit 4303c9be39)
2008-12-31 12:44:43 -08:00
Jeremy Huddleston
ef4179f43a XQuartz: Fix dead-acute on Greek keyboards
(cherry picked from commit 807f2ec35c)
2008-11-28 13:02:25 -08:00
Jeremy Huddleston
800f5c681b XQuartz: Fix Czech keyboard dead-acute
(cherry picked from commit 771df2786b)
2008-11-28 13:02:12 -08:00
Jeremy Huddleston
ac57bb36d5 XQuartz: Fix an uninitialized keyboard_type on Tiger
(cherry picked from commit 27b1a5eb34)
2008-11-28 13:01:59 -08:00
Jeremy Huddleston
d508a3dcca XQuartz: More dead code removal
(cherry picked from commit dcb0f6a2e6)
2008-11-25 00:54:32 -08:00
Jeremy Huddleston
41fbdf72f2 XQuartz: Disable some error spew on Tiger (where it wouldn't be an error)
(cherry picked from commit 73ec6d3dfe)
2008-11-25 00:54:27 -08:00
Jeremy Huddleston
8e2287c220 XQuartz: Updated some code to use newer server API 2008-11-22 13:57:45 -08:00
Jeremy Huddleston
b262788401 XQuartz: More Tiger ifdefs
(cherry picked from commit 803509072f)
2008-11-21 10:59:26 -08:00
Jeremy Huddleston
03f7a66a1a XQuartz: Don't use TIS on Tiger...
(cherry picked from commit be8ac84c15)
2008-11-15 19:52:52 -08:00