x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

SScrollBar is not interactable

Build Type: 'Binary' build (The issue is still in the lastest souce code of master branch on github)

Build version: 4.14.0-3195953+++UE4+Release-4.14 (The issue is still in the lastest souce code of master branch on github)

Detailed description of the issue:

SScrollBar is always not interactable which is incorrect, It should behave similar to SButton.

SScrollBar should override SWidget::IsInteractable() like SButton.

I found Cody Haskell's commit (fc03448b67704d0bd76be9584aa1753988191479) only overrides SWidget::IsInteractable() in SButton.

This is the root of this issue. Cody Haskell who added IsInteractable() to SWidget should definitely ensure all interactable SWidgets (may be not just SButton and SScrollBar, please review carefully) to override SWidget::IsInteractable() properly.

Following is the git commit info:

Author: Cody Haskell

Date: 2 years ago (12/6/2014 10:28:09 AM)

Committer: UnrealBot

Commit hash: fc03448b67704d0bd76be9584aa1753988191479

Parent(s): 288156d09d

UE4

  • GetBubblePath() now takes in a radius

  • Added IsInteractable() to SWidget (currently only returns true for SButton)

  • Added Cursor Radius to Slate App

codereview Nick.Atamas

[CL 2378496 by Cody Haskell in Main branch]

Contained in branches: 4.14 Contained in tags: 4.14.0-preview-1, 4.13.1-release, 4.13.0-release, 4.13.0-preview-3, 4.13.0-preview-2, 4.13.0-preview-1, 4.12.5-release, 4.12.4-release, 4.12.3-release, 4.12.2-release, 4.12.1-release, 4.12.0-release, 4.12.0-preview-5, 4.12.0-preview-4, 4.12.0-preview-3, 4.12.0-preview-2, 4.12.0-preview-1, 4.11.2-release, …, 4.7.0-preview-1

Jack_fantasy

Product Version: UE 4.14
Tags:
more ▼

asked Dec 03 '16 at 02:49 AM in Bug Reports

avatar image

jack_fantasy
46 1 2 6

(comments are locked)
10|2000 characters needed characters left

1 answer: sort voted first

Simply add IsInteractable() function to the public section of Engine\Source\Runtime\Slate\Public\Widgets\Layout\SScrollBar.h

 virtual bool IsInteractable() const override
 {
     return IsEnabled();
 }

Can someone please put this fix into the UE4 bug process?

Thank you Jack_fantasy

more ▼

answered Dec 04 '16 at 07:19 AM

avatar image

jack_fantasy
46 1 2 6

avatar image Tim C ♦♦ STAFF Dec 06 '16 at 07:06 PM

Hi jack_fantasy,

Since you already have a proposed fix for the issue that you described, would you please consider submitting a Pull Request on GitHub with the fix? That is our preferred method for receiving suggested fixes from members of the community. If you can't submit a Pull Request, or prefer not to, please let me know and I will enter a ticket internally to have this looked into.

Tim

avatar image jack_fantasy Dec 08 '16 at 10:56 AM

Hi, Tim

I have considered that, but there are already 270 pending pull requests. I also think someone in epic should review all SWidgets. Is that still true that only SButton and SScrollBar are Interactable? I think I prefer to enter the ticket process

Thanks, Jack_fantasy

avatar image Tim C ♦♦ STAFF Dec 08 '16 at 07:09 PM

Are you seeing this happen in UMG, or only when using Slate directly? I made a quick setup, using UMG, where I had a scrollbox with a bunch of buttons and I was able to interact with the scroll bar there. Is there a specific scenario where you are unable to interact with the scroll bar?

Tim

avatar image jack_fantasy Dec 09 '16 at 08:03 AM

SWidget::IsInteractable() doesn't directly affects interactability of Widget. It allows Widget's interactability to be queried from outside.
One of scenarios to reproduces this problem is to setup a widget interaction component, create a widget with a button and a scrollbox, and monitor the value of UWidgetInteractionComponent::IsOverInteractableWidget() in the blueprint. When the cursor hovers over the button, the value will change from false to true. But the value won't change when hovering over the scrollbox bar.

Thanks, Jack_fantasy

avatar image Tim C ♦♦ STAFF Dec 15 '16 at 09:59 PM

Sorry for the delay, I got pulled onto some other tasks for a few days.

I misunderstood what you were getting at originally, so thank you for clarifying what you were looking at. With that additional information I was able to reproduce what you were seeing, and I have entered UE-39845 to have this investigated further. I included your suggested fix, as well as the suggestion that it should be applied to all interactable widgets.

Tim

avatar image jack_fantasy May 28 '17 at 04:27 AM

Hi, Tim

I have tried the latest 4.16.0 with my project. Even UE-39845 is marked fixed, but I still experience the same problem. I have checked the SScrollBar class, nothing changed regarding IsInteractable() function. Well, maybe there is another way to fix this problem. Could you please share your test project in UE-39845 with me? I wonder if I can reproduce my problem with your test project in 4.16.0.

Thanks, Jack_fantasy

(comments are locked)
10|2000 characters needed characters left
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question