Skip to content

[Impeller] Mask blur with sigma <= 0 renders incorrectly on iOS #138842

@GManzke

Description

@GManzke

Is there an existing issue for this?

Steps to reproduce

  1. Use a physical iOS device (with version 16+);
  2. Use provided dart code;
  3. Run the application on a physical iOS device to observe the issue.

Expected results

No shadows and no square borders/background.

Actual results

When an elevation of 0 is set for the RoundSliderThumbShape on iOS, a square white background appears around the thumb, contrary to the expected outcome of having no background/shadow. This only happens on a physical device and only happens at elevation 0.

Code sample

Code sample
import 'package:flutter/material.dart';

void main() => runApp(const SliderApp());

class SliderApp extends StatelessWidget {
  const SliderApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: SliderExample(),
    );
  }
}

class SliderExample extends StatefulWidget {
  const SliderExample({super.key});

  @override
  State<SliderExample> createState() => _SliderExampleState();
}

class _SliderExampleState extends State<SliderExample> {
  double _currentSliderValue = 20;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Slider')),
      backgroundColor: Colors.red,
      body: SliderTheme(
        data: const SliderThemeData(
          thumbShape: RoundSliderThumbShape(
            enabledThumbRadius: 32,
            elevation: 0,
          ),
        ),
        child: Slider(
          value: _currentSliderValue,
          max: 100,
          divisions: 5,
          label: _currentSliderValue.round().toString(),
          onChanged: (double value) {
            setState(() {
              _currentSliderValue = value;
            });
          },
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration

IMG_3436BF1AADBE-1

Logs

Logs
[Paste your logs here]

Flutter Doctor output

Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel stable, 3.13.9, on macOS 14.1.1 23B81 darwin-arm64, locale pt-BR)
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/3.1.5/libexec/bin/dart, which is not inside your current
      Flutter SDK checkout at /Users/gabriel.manzke/fvm/versions/3.13.9. Consider adding
      /Users/gabriel.manzke/fvm/versions/3.13.9/bin to the front of your path.
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.3)
[✓] Android Studio (version 2022.3)
[✓] IntelliJ IDEA Community Edition (version 2023.2.2)
[✓] IntelliJ IDEA Community Edition (version 2023.2.5)
[✓] VS Code (version 1.82.3)
[✓] Connected device (3 available)
[✓] Network resources

! Doctor found issues in 1 category.

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work liste: impellerImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.found in release: 3.16Found to occur in 3.16found in release: 3.17Found to occur in 3.17has reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-iosiOS applications specificallyr: fixedIssue is closed as already fixed in a newer versionteam-engineOwned by Engine teamtriaged-engineTriaged by Engine team

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions