Skip to content

MouseRegion's cursor in a Draggable's feedback does not work #92083

@mateusfccp

Description

@mateusfccp

Steps to Reproduce

Consider this minimal example (dartpad):

import 'package:flutter/material.dart';

void main() {
  runApp(App());
}

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: Draggable(
            child: const MouseRegion(
              cursor: SystemMouseCursors.grab,
              child: Square(color: Colors.red),
            ),
            childWhenDragging: Square(color: Colors.red.shade100),
            feedback: const MouseRegion(
              cursor: SystemMouseCursors.grabbing,
              child: Square(color: Colors.red),
            ),
          ),
        ),
      ),
    );
  }
}

class Square extends StatelessWidget {
  const Square({
    required this.color,
    Key? key,
  }) : super(key: key);

  final Color color;

  @override
  Widget build(BuildContext context) {
    return ColoredBox(
      color: color,
      child: const SizedBox.square(dimension: 64.0),
    );
  }
}

Expected results:

While hovering the square area, the cursor should be grab. While dragging, the cursor should be grabbing.

Actual results:

While hovering the square area, the cursor is grab, as expected. When we click to start dragging, the cursor reverts to the "normal" cursor instead of going to grabbing.

flutter doctor -v
➜  ~ flutter doctor -v
[✓] Flutter (Channel stable, 2.5.3, on macOS 11.6 20G165 darwin-x64, locale
    en-BR)
    • Flutter version 2.5.3 at /Users/pintome/Library/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 18116933e7 (4 days ago), 2021-10-15 10:46:35 -0700
    • Engine revision d3ea636dc5
    • Dart version 2.14.4

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/pintome/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 13.0, Build version 13A233
    • CocoaPods version 1.11.2

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

[✓] Android Studio (version 2020.3)
    • 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
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] Connected device (3 available)
    • sdk gphone x86 (mobile) • emulator-5554 • android-x86    • Android 11 (API
      30) (emulator)
    • macOS (desktop)         • macos         • darwin-x64     • macOS 11.6
      20G165 darwin-x64
    • Chrome (web)            • chrome        • web-javascript • Google Chrome
      94.0.4606.81

! Doctor found issues in 1 category.
Screen.Recording.2021-10-19.at.08.18.16.mov

Metadata

Metadata

Assignees

Labels

P2Important issues not at the top of the work lista: desktopRunning on desktopa: mouseIssues related to using a mouse or mouse supportfound in release: 2.5Found to occur in 2.5found in release: 2.6Found to occur in 2.6frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer version

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions