Skip to main content

New Health Pack for UE4Linux

Hi fellows

One reason for the new update was the following issues:

Reported Issue 1

Reported Issue 2

That happens when Slate tries to open an additional pop-up window on top of another pop-up window that has to be closed. The current implementation of revert focus to parent was causing the problem.
Here a short explanation what was happening. The world of X11with all the variety of WM's (Window Manager)'s are not consistent. Usually a WM programmer will/should follow the guides the ICCCM dictates but well yeah, everyone interprets stuff different so as said not all WM's behave the same way.
To make UE4 Editor Cross-WM I tried not to trust too much to the WM's behaviour even though it is said: don't mess with the WM and trust it.
It's just not possible because Slate (UI System of UE4) is not compatible with the philosophy of the X11/WM world at all.
So ignoring some WM stuff means most stuff has to be done manually and that one thing which causes the problem mentioned above is the revert the focus to the correct parent window which had to be programmed manually.
The new PR will fix that issue and even some other issues related to Focus problems in Gnome WM.

Here the whole list of fixes:

  • Fix issues where some popups seems not to appear.
  • Fix some focus issues on Gnome WM.
  • Fix issues where the cursor pointer jumps from child window to parent window back and forth while PIE and for example BP window open.
  • Handle focus better. Console window will shot up when requested.
  • Handle revert focus better.
  • Handle Drop Down Menus focus better. Use keyboard grab instead of setting focus as most UI toolkits as GTK+, QT etc. does. This fixes some flicker in taskbar and focus visualisation in some WM's. This helps to get rid of some overlapping window with popup menus (Unity WM).
  • Decouple window activation from focus.
  • Get rid of some old workarounds.

For people interested in the new Pull Requests (PR): Pull Request. (You can see that link only if you have a Epic and Github account.)

Comments

Popular posts from this blog

Using Vulkan RHI on GNU/Linux

Hi fellows This time it's about the Vulkan support of the Unreal Engine 4. It's nice to see that Epic Games decided to support Vulkan as first class citizen. Unfortunately they didn't make their Vulkan RHI GNU/Linux compatible so I had to do something about it. See here: Yaakuro

Relative Mouse Pointer Issue SDL2

Until now UE4 does not use the "real" relative mouse movement which SDL2 provides already in the version 2.0.4. That means SDL2 is calculating internal the rel. mouse movement and provides it via the SDL_MOUSEMOTION  event using xrel and yrel. Here some code fragments: SDL_MouseMotionEvent motionEvent = Event.motion; ... if(bUsingHighPrecisionMouseInput) {     MessageHandler->OnRawMouseMove(motionEvent.xrel, motionEvent.yrel); } else {      MessageHandler->OnMouseMove(); } As mentioned xrel and yrel are not using the XInput2 extension which causes to stop giving values when the cursor reaches the end of the window. Luckily SDL2 provides with 2.0.4 the real rel mouse movement with SDL_SetRelativeMouseMode(Enable ? SDL_TRUE : SDL_FALSE); The relative mouse movement stuff on windows/mac and linux is done in this method: void FLinuxApplication::SetHighPrecisionMouseMode( const bool Enable, const TSharedPtr< FGenericWindow >& InWindow ) {   ... } In tha

CodeLite Source Code Access and Project File Generator for Unreal Engine 4

Hi folks At the moment I am working on a CodeLite Project File Generator and Source Code Access Plugin for Unreal Engine 4. Thx to CodeLite I am able to work either on GNU/Linux, MacOSX or Windows (CodeLite supports even more development platforms but not UE4 :D). The modified version of UBT will just create the workspace and project files you need for your specific platform. Features: Creates Workspace/Projects for Platforms/Targets with their configurations. CodeLite itself is cross platform. The modified version of UBT will create your project files for GNU/Linux, Mac and Windows platforms.  Start your game project within CodeLite in the Editor target. Source Code Access within UE4Editor using the Plugin. Added Custom Build Targets for "Cooking"/"Non Cooking" and "Cooking on the fly". Means you can cook your project easy withing the CodeLite editor. Just select one of those 3 submenus Game projects will have two targets Game and Editor.