Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • A archlinux-docker
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 8
    • Issues 8
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 3
    • Merge requests 3
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Arch Linux
  • archlinux-docker
  • Merge requests
  • !63

keep some more /usr/share/X11/locale files

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Pace Willisson requested to merge pacew/archlinux-docker:x11-locale into master Jun 03, 2022
  • Overview 4
  • Commits 1
  • Pipelines 3
  • Changes 1

The aggressive pruning of locales causes X11 input methods to fail in unexpected ways. For example, the library https://github.com/lv2/pugl calls XOpenIM in libx11 which returns NULL if any of the files C, compose.dir, or iso8859-1 are missing from /usr/share/X11/locale. This ultimately leads to a SIGSEGV when this NULL finds its way to a call to XUnsetICFocus. Perhaps pugl should be more careful (I've submitted a PR https://github.com/lv2/pugl/pull/83 ), but adding these files to the archlinux image could help other programs.

In this example program, XOpenIM returns NULL in the current archlinux images, but returns a reasonable pointer with this patched image.

/* cc xtest.c -lX11 */
#include <stdio.h>
#include <X11/X.h>
#include <X11/Xlib.h>

int
main()
{
  Display *display = XOpenDisplay(NULL);
  XIM xim = XOpenIM(display, NULL, NULL, NULL);
  printf ("xim %p\n", xim);
  return (0);
}
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: x11-locale