Skip to content

[3.7.0] ImageFilter in ListView causes crazy jiggling, wrong offset #119414

Description

@mym0404

I bumped Flutter SDK 3.3.10 -> 3.7.0 without enabling impeller.

The ImageFilter with ImageFilter.blur causes crazy jiggling about offset like this.

1

This problem exists in Android, and iOS both;

It seems to have been issued by #115884

If I revert this PR and run it, then it works well.

Steps to Reproduce

Reproduce Repo

1_2

class BlurFiltered extends StatelessWidget {
  const BlurFiltered({
    Key? key,
    required this.child,
    this.sigmaX = 0,
    this.sigmaY = 0,
  }) : super(key: key);

  final Widget? child;
  final double sigmaX, sigmaY;

  @override
  Widget build(BuildContext context) {
    return ImageFiltered(
      imageFilter: ImageFilter.blur(
        sigmaX: sigmaX,
        sigmaY: sigmaY,
      ),
      child: child,
    );
  }
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: ListView(
        children: [
          Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              const Text(
                'You have pushed the button this many times:',
              ),
              BlurFiltered(
                sigmaX: 5,
                sigmaY: 5,
                child: Text(
                  'You have pushed the button this many times:',
                ),
              ),
            ],
          ),
        ],
      ),
    );
  }
}

Expected results:

Without offset jiggling

Actual results:

Code sample
Logs
No
[✓] Flutter (Channel stable, 3.7.0, on macOS 13.1 22C65 darwin-x64, locale en-KR)
    • Flutter version 3.7.0 on channel stable at /Users/mj/Documents/flutter
    • Upstream repository git@github.com:flutter/flutter.git
    • Framework revision b06b8b2710 (4 days ago), 2023-01-23 16:55:55 -0800
    • Engine revision b24591ed32
    • Dart version 2.19.0
    • DevTools version 2.20.1

Checking Android licenses is taking an unexpectedly long time...[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/mj/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • ANDROID_HOME = /Users/mj/Library/Android/sdk
    • Java binary at: /Library/Java/JavaVirtualMachines/jdk-11.0.14.jdk/Contents/Home/bin/java
    • Java version Java(TM) SE Runtime Environment 18.9 (build 11.0.14+8-LTS-263)
    • All Android licenses accepted.

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

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

[!] Android Studio (version 2022.1)
    • Android Studio at /Applications/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
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] IntelliJ IDEA Ultimate Edition (version 2022.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin version 222.3345.108

[✓] VS Code (version 1.52.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (3 available)
    • XR (mobile)     • F48A264A-4E58-4D1A-B14A-5F89015CABC9 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
    • macOS (desktop) • macos                                • darwin-x64     • macOS 13.1 22C65
      darwin-x64
    • Chrome (web)    • chrome                               • web-javascript • Google Chrome
      109.0.5414.119
    ! Error: MJ IPhone is busy: Waiting to connect and unlock the device. Xcode will continue when
      MJ IPhone is finished. (code -10)

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

! Doctor found issues in 1 category.

Metadata

Metadata

Assignees

Labels

P0Critical issues such as a build break or regressionc: regressionIt was better in the past than it is nowengineflutter/engine related. See also e: labels.r: fixedIssue is closed as already fixed in a newer version

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions