maliit / framework

Core libraries of Maliit and server.
Other
52 stars 49 forks source link

maliit-server can't create dbus socket with dbus 1.15.2 #119

Closed VitaliiBlagodir closed 1 year ago

VitaliiBlagodir commented 1 year ago

Steps to reproduce on Ubuntu:

  1. Install dbus 1.15.2 or newer
  2. Install Qt 5
  3. Build and install mallit-server
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -Denable-docs=OFF -Denable-tests=OFF -Denable-examples=ON -Denable-wayland=OFF -Denable-hwkeyboard=OFF -Denable-dbus-activation=ON ..
make
sudo make install
  1. Build and install mallit-keyboard
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -Denable-presage=OFF -Denable-hunspell=OFF -Denable-tests=OFF ..
make
sudo make install
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
  1. Build and install inputcontext-gtk (apply attached patch 0001-Fix-CMakeLists.txt.zip first)
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_X11=ON -DENABLE_GTK2=OFF -DENABLE_GTK3=ON ..
make
sudo make install
sudo /usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 --update-cache
  1. Reboot
  2. Open gedit
GTK_IM_MODULE=Maliit gedit

or with more logs

GTK_IM_MODULE=Maliit G_MESSAGES_DEBUG=Maliit MALIIT_DEBUG=1 gedit
  1. Keyboard does not appear

Solution Because of changes introduced in dbus 1.15.2 https://github.com/freedesktop/dbus/blob/dbus-1.15.2/NEWS the line https://github.com/maliit/framework/blob/2.3.0/connection/serverdbusaddress.cpp#L64 in mallit-server

QLatin1String dbusAddress("unix:tmpdir=/tmp/maliit-server");

needs to be updated as

QLatin1String dbusAddress("unix:abstract=/tmp/maliit-server");
dobey commented 1 year ago

This was already fixed in https://github.com/maliit/framework/commit/812969485050b5329294b37648a11ba60e0be430 but yes, there has not been a new release tarball yet that includes it.