Skip to content

Blur filter on iOS interrupts gesture detector events #114443

@mario-jerkovic

Description

@mario-jerkovic

Steps to Reproduce

  1. GitHub repo with reproducible example
  2. Run the app on iOS device, preferably iOS simulator
  3. Drag containers with with text "Basic" (simple container with background color) or "Frosted" (container with blur effect)

Expected results:
There is no difference between dragging "Basic" container widget and "Frosted" container widget

Actual results:
Dragging container with with "Frosted" text aka blur widget unexpectedly skips gestures and interrupts the onPanUpdate gesture

Code
// Moveable.dart
// Moveable widget wraps any child widget passed with Positioned and Gesture detector
// and updates the Positioned top and left properties with current x and y position
// of the pointing device (touch or mouse)

  Positioned(
    top: _y,
    left: _x,
    child: GestureDetector(
      onPanUpdate: (details) {
        setState(() {
          _y += details.delta.dy;
          _x += details.delta.dx;
        });
      },
      child: widget.child,
    ),
  )
// main.dart
// Renders Stack with Google Maps widget and Moveable widget with ClipRect as a child which blurs the Container
Moveable(
  initPosition: const Offset(0.0, 0.0),
  child: ClipRect(
    child: BackdropFilter(
      filter: ImageFilter.blur(sigmaX: 10.0, sigmaY: 10.0),
      child: Container(
        width: 200.0,
        height: 200.0,
        decoration: BoxDecoration(color: Colors.black.withOpacity(0.5)),
        child: const Center(
          child: Text('Frosted'),
        ),
      ),
    ),
  ),
)
Logs

[✓] Flutter (Channel master, 3.5.0-12.0.pre.54, on macOS 13.0 22A380 darwin-arm64, locale en-HR)
• Flutter version 3.5.0-12.0.pre.54 on channel master at /Users/mario.jerkovic/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 0d65b63 (85 minutes ago), 2022-11-01 13:07:17 -0400
• Engine revision e013908440
• Dart version 2.19.0 (build 2.19.0-357.0.dev)
• DevTools version 2.18.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
• Android SDK at /Users/mario.jerkovic/Library/Android/sdk
• Platform android-33, build-tools 33.0.0
• Java binary at: /Users/mario.jerkovic/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9123335/Android Studio.app/Contents/jre/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
• All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 14A400
• CocoaPods version 1.11.3

[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
• Android Studio at /Users/mario.jerkovic/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9123335/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] Connected device (3 available)
• iPhone SE (3rd generation) (mobile) • A797109C-AA2F-4FB4-8580-B63E510745C9 • ios • com.apple.CoreSimulator.SimRuntime.iOS-16-0 (simulator)
• macOS (desktop) • macos • darwin-arm64 • macOS 13.0 22A380 darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome 107.0.5304.87

[✓] HTTP Host Availability
• All required HTTP hosts are available

• No issues found!

Video example

Screen.Recording.2022-11-01.at.19.01.44.mp4

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work lista: platform-viewsEmbedding Android/iOS views in Flutter appsplatform-iosiOS applications specifically

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions