Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pr/big 1.4.2 upgrade v3 #902

Open
wants to merge 42 commits into
base: 3.6.x
Choose a base branch
from

Conversation

uli42
Copy link
Member

@uli42 uli42 commented Jan 18, 2020

This is not a real PR but merely for keeping track of my xorg 1.4.2 upgrade efforts. I think this is almost finished, YMMV.

Change ShmExtensionInit to call the unaltered upstream version and
trick it to do what we want.
Backport of this commit:

  commit 00acb40f2bc5bb4a1977b9b08db75630677ff787
  Author: Peter Hutterer <peter@cs.unisa.edu.au>
  Date:   Wed Apr 30 11:29:03 2008 +0930

    dix: fix typo in clipAxis.

    Check needs to be (min_axis < max_axis), not (min_axis < min_axis)
xorg upstream has changed order of functions between 1.3.0.0 and 1.4.2
prepare 1.4.2 upgrade
dix must be upgraded to 1.4.2, too, to make this work!
The miPointerUpdate() call was responsible for crashes during window
resizes. As nxagent is derived from xnest I found the following
backport appropriate.

  commit 6fb76acc4524d6af4bfb6bc6d862c1ee2bbb8baa
  Author: Peter Hutterer <peter@cs.unisa.edu.au>
  Date:   Fri May 16 19:22:32 2008 +0930

    mi: remove miPointerUpdate() -> replaced by miPointerUpdateSprite().

    In the xnest and vfb DDX we don't need the call anyway, it's performed by
    mieqProcessInputEvent.
... which effectly is merely a no-op without Xace ...
… code around so that we can drop nx-X11/programs/Xserver/render/miglyph.c (and by extension nx-X11/programs/Xserver/hw/nxagent/NXmiglyph.c.)"

This reverts commit 1a7fc41.
Had to revert 1a7fc41 to make this easier.
mimimize/mark differences to dix/dispatch.c
  commit 449723510a1f9d024e23d9eb33795cac27f9443e
  Author: Egbert Eich <eich@pdx.freedesktop.org>
  Date:   Tue Apr 22 13:30:03 2008 +0930

    xkb: use the correct device instead of an uninitialised "dev". #15614

    X.Org Bug 15614 <http://bugs.freedesktop.org/show_bug.cgi?id=15614>

    Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
  commit 6216abe0c1a94efa4b2f0d14e88278f128304cd2
  Author: Peter Hutterer <peter@cs.unisa.edu.au>
  Date:   Fri Nov 30 11:34:24 2007 +1030

    dix: avoid activating the VCP/VCK twice.

    This may set dev->key-xkbinfo to NULL, causing a segfault in xkb code lateron.
    Spotted by David Huggins-Daines.
The situation here is unclear. There are chances that this needs to be
revised later.

With the integration of core keyboard and pointer memory leaks started
to (re-)appear.

For the core devices XkbSetExtension() is called on initialization and
allocates private data. But there's no corresponding code to free the
private data on CloseDevice. So I added XkbFreePrivates(). This
function should be called on DEVICE_CLOSE.

For the NX devices XkbSetExtension() is never called so the privates
are not allocated which _feels_ wrong but I am not sure if it really
_is_ wrong.

Nevertheless let's call XkbFreePrivates() for both core and NX devices
including sanity checks and nullification to be on the safe side.
@uli42
Copy link
Member Author

uli42 commented Jan 4, 2021

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant