From e7643ee6b44d10731e10bc7aef6e4cba3de0500f Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Wed, 5 Dec 2018 13:52:39 +0100 Subject: [PATCH 1/2] Install_deps: bump collada version to 1.6.68. --- build_files/build_environment/install_deps.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_files/build_environment/install_deps.sh b/build_files/build_environment/install_deps.sh index 62e5181e039..19278e1a086 100755 --- a/build_files/build_environment/install_deps.sh +++ b/build_files/build_environment/install_deps.sh @@ -383,7 +383,7 @@ ALEMBIC_FORCE_BUILD=false ALEMBIC_FORCE_REBUILD=false ALEMBIC_SKIP=false -OPENCOLLADA_VERSION="1.6.63" +OPENCOLLADA_VERSION="1.6.68" OPENCOLLADA_FORCE_BUILD=false OPENCOLLADA_FORCE_REBUILD=false OPENCOLLADA_SKIP=false From c9344d6c5b0533629966c6baa853591f345af00a Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 5 Dec 2018 13:58:38 +0100 Subject: [PATCH 2/2] Fix T58776, T58030: pressure sensitivity on Linux not working for some tablets. --- intern/ghost/intern/GHOST_SystemX11.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/intern/ghost/intern/GHOST_SystemX11.cpp b/intern/ghost/intern/GHOST_SystemX11.cpp index 0c0abc95356..3befb700c55 100644 --- a/intern/ghost/intern/GHOST_SystemX11.cpp +++ b/intern/ghost/intern/GHOST_SystemX11.cpp @@ -2269,6 +2269,8 @@ void GHOST_SystemX11::refreshXInputDevices() if (m_xtablet.StylusDevice != NULL) { /* Find how many pressure levels tablet has */ XAnyClassPtr ici = device_info[i].inputclassinfo; + bool found_valuator_class = false; + for (int j = 0; j < m_xtablet.StylusDevice->num_classes; ++j) { if (ici->c_class == ValuatorClass) { // printf("\t\tfound ValuatorClass\n"); @@ -2286,11 +2288,23 @@ void GHOST_SystemX11::refreshXInputDevices() m_xtablet.YtiltLevels = 0; } + found_valuator_class = true; + break; } ici = (XAnyClassPtr)(((char *)ici) + ici->length); } + + if (!found_valuator_class) { + /* In case our name matching detects a device that + * isn't actually a stylus. For example there can + * be "XPPEN Tablet" and "XPPEN Tablet Pen", but + * only the latter is a stylus. */ + XCloseDevice(m_display, m_xtablet.StylusDevice); + m_xtablet.StylusDevice = NULL; + m_xtablet.StylusID = 0; + } } else { m_xtablet.StylusID = 0;