~ubuntu-branches/ubuntu/oneiric/xorg-server/oneiric-201109091216

« back to all changes in this revision

Viewing changes to xkb/xkb.c

  • Committer: Bazaar Package Importer
  • Author(s): Christopher James Halse Rogers, Christopher James Halse Rogers, Timo Aaltonen, Chase Douglas
  • Date: 2011-02-23 09:40:07 UTC
  • mfrom: (1.1.39 upstream) (0.1.22 experimental)
  • Revision ID: james.westby@ubuntu.com-20110223094007-xqwcet0zcbelhj56
Tags: 2:1.9.99.902-2ubuntu1
[ Christopher James Halse Rogers ]
* Merge from Debian experimental.  Remaining Ubuntu changes:
  - rules:
    + Disable SELinux, libaudit-dev is not in main yet. (LP #406226)
    + Enable xcsecurity. (LP #247537)
    + Add --with-extra-module-dir to support GL alternatives.
    + Mention Ubuntu support in builderstring rather than package uploader's
      email address.
  - control:
    + Xvfb depends on xauth, x11-xkb-utils. (LP #500102)
    + Add breaks for incompatible drivers. (LP #614993)
    + Drop libaudit-dev from build-deps.
    + Build-depend on newer mesa to pick up DRI search paths variable.
  - local/xvfb-run*: Add correct docs about error codes. (LP #328205)
  - debian/patches:
    + 100_rethrow_signals.patch:
      When aborting, re-raise signals for apport
    + 105_nvidia_fglrx_autodetect.patch:
      Load proprietary drivers automatically when installed.
    + 109_fix-swcursor-crash.patch:
      Avoid dereferencing null pointer while reloading cursors during
      resume. (LP: #371405)
    + 111_armel-drv-fallbacks.patch:
      Add support for armel driver fallbacks.
    + 121_only_switch_vt_when_active.diff:
      Add a check to prevent the X server from changing the VT when killing
      GDM from the console.
    + 122_xext_fix_card32_overflow_in_xauth.patch:
      Fix server crash when “xauth generate” is called with large timeout.
    + 157_check_null_modes.patch, 162_null_crtc_in_rotation.patch,
      166_nullptr_xinerama_keyrepeat.patch, 167_nullptr_xisbread.patch
      169_mipointer_nullptr_checks.patch,
      172_cwgetbackingpicture_nullptr_check.patch:
      Fix various segfaults in xserver by checking pointers for NULL
      values before dereferencing them.
    + 165_man_xorg_conf_no_device_ident.patch
      Correct man page
    + 168_glibc_trace_to_stderr.patch:
      Report abort traces to stderr instead of terminal
    + 184_virtual_devices_autodetect.patch:
      Use vesa for qemu device, which is not supported by cirrus
    + 188_default_primary_to_first_busid.patch:
      Pick the first device and carry on (LP: #459512)
    + 190_cache-xkbcomp_output_for_fast_start_up.patch:
    + 191-Xorg-add-an-extra-module-path.patch:
      Add support for the alternatives module path.
    + 198_nohwaccess.patch:
      Adds a -nohwaccess argument to make X not access the hardware
      ports directly.
    + 200_randr-null.patch:
      Clarify a pointer initialization.
    + 206_intel_8xx_default_to_fbdev.patch:
      Makes 8xx class intel GPUs default to fbdev for stability. (LP: #633593)
    + 208_switch_on_release.diff:
      Switch keyboard layouts on key-release rather than key-press
        (LP #36812)
    + 209_add_legacy_bgnone_option.patch:
      Add -nr as a synonym for -background none until all ?DM are updated for
        the new option.
    + 210_pixman_null_ptr_check.patch: 
      Catch NULL pointer access after pixman_image_create_bits() failure
        (LP #705078)
    + Add 213_xichangehierarchy-check-oom.patch:
      Add NULL pointer check for out-of-memory conditions. (LP #720445)
    + debian/patches/214_glx_dri_searchdirs.patch:
      Search in same paths as mesa for DRI drivers for AIGLX so we can handle
      UMS fallback for radeon gracefully.
* 211_glx_fix_bindtextimageext_length_check.patch:
* 212_fix_request_length_check_for_createglxpbuffersgix.patch:
  - Drop; these cherry-picks are included in 1.10RC2
* debian/patches/214_glx_dri_searchdirs.patch:
  - Fix nouveau check to downgrade missing DRI error messages to info.
    We don't support nouveau's 3D, so let's not complain too strenuously
    when it's not installed.
* debian/patches/215_glx_drawable_refcounting.diff:
  - Refcount GLXDrawables to avoid use-after-free crashes.  Patch from
    xorg-devel mailing list.  Prevents segfault on logout and server
    regenerate, and possibly other times. (LP: #711422)
* 214_glx_dri_searchdirs.patch:
  - Fix dlclose/free snafu. (LP: #722563)
* debian/inputabiver:
* debian/videoabiver:
* debian/xserver-xorg-dev.install
  - Temporarily re-add these to xserver-xorg-dev so we don't need to merge
    all the driver changes from Debian en masse.  These should be dropped
    once all drivers have been merged from Debian, and certainly in Natty+1.
* debian/serverminver:
  - Include 2ubuntu1 string; Xi 2.1 bumps the minor input ABI, so drivers
    built against it need the Xi 2.1 patched server.

[ Timo Aaltonen ]
* debian/patches/216_dix-valuator-count-of-0-is-valid.diff:
  - For all but motion and proximity events, having no valuators is ok.
    Regression from 1.9, keyboard events are not converted to protocol
    events. (LP: #714696)

[ Chase Douglas ]
* Add in preliminary xi2.1 support
  - Added 500_xi2.1.patch
  - Moved 202_xf86CoordinationsToWindows.patch to
    501_xf86CoordinatesToWindow.patch
  - Moved 203_gestures-extension.patch to 502_gestures-extension.patch
  - Bump dependency on x11proto-input for xi 2.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
915
915
                                       stuff->axtOptsMask);
916
916
            }
917
917
 
918
 
            if (stuff->changeCtrls & XkbPerKeyRepeatMask)
 
918
            if (stuff->changeCtrls & XkbPerKeyRepeatMask) {
919
919
                memcpy(new.per_key_repeat, stuff->perKeyRepeat,
920
920
                       XkbPerKeyBitArraySize);
 
921
                if (xkbi->repeatKey &&
 
922
                    !BitIsOn(new.per_key_repeat, xkbi->repeatKey)) {
 
923
                    AccessXCancelRepeatKey(xkbi, xkbi->repeatKey);
 
924
                }
 
925
            }
921
926
 
922
927
            old= *ctrl;
923
928
            *ctrl= new;
3639
3644
        swapl(&rep->indicators,n);
3640
3645
    }
3641
3646
 
3642
 
    start = desc = malloc(length);
 
3647
    start = desc = calloc(1, length);
3643
3648
    if ( !start )
3644
3649
        return BadAlloc;
3645
3650
    if (xkb->names) {
5564
5569
{
5565
5570
    DeviceIntPtr                dev;
5566
5571
    DeviceIntPtr                tmpd;
5567
 
    xkbGetKbdByNameReply        rep;
5568
 
    xkbGetMapReply              mrep;
5569
 
    xkbGetCompatMapReply        crep;
5570
 
    xkbGetIndicatorMapReply     irep;
5571
 
    xkbGetNamesReply            nrep;
5572
 
    xkbGetGeometryReply         grep;
5573
 
    XkbComponentNamesRec        names;
 
5572
    xkbGetKbdByNameReply        rep = {0};
 
5573
    xkbGetMapReply              mrep = {0};
 
5574
    xkbGetCompatMapReply        crep = {0};
 
5575
    xkbGetIndicatorMapReply     irep = {0};
 
5576
    xkbGetNamesReply            nrep = {0};
 
5577
    xkbGetGeometryReply         grep = {0};
 
5578
    XkbComponentNamesRec        names = {0};
5574
5579
    XkbDescPtr                  xkb, new;
5575
5580
    unsigned char *             str;
5576
5581
    char                        mapFile[PATH_MAX];