Tickers being disabled and re-enabled can cause the
condition of a synchronous notification happening after
image frames have been delivered, which is valid in that
case. As such, this removes the assert.
https://github.com/flutter/flutter/issues/32374
This adds DiagnosticableMixin as a mixin class that provides the implementaion for Diagnosticable, so that we can now add diagnostics to classes which already have a base class.
This PR solves two problems: currently, the onExit is called for a mouse pointer the moment the removal message is received, except that by the time it actually calls it, there is no _lastEvent for it in the mouse tracker (it's already been removed), resulting in an event being passed to the onExit that contains nulls for the position. Also, removePointer events don't actually get created with a position, although they easily could be, so that even the the _lastEvent in the mouse tracker were still populated, it would still give a null position and delta.
This PR adds support for the position and delta in a PointerRemovedEvent, and populates them. In addition, when a remove event is received, it doesn't actually remove the pointer until the mouse position check that gets scheduled actually happens.
fa9b5bd0e2...7dd62d6b3c
git log fa9b5bd0e286e91bb685b22adf346e7e19b944d2..7dd62d6b3ca4c7d00e4382491b5a692a5a4554b1 --no-merges --oneline
7dd62d6b3 Roll src/third_party/skia 1013ecfb3421..859f7108a5af (19 commits) (flutter/engine#9136)
e8aa12048 New Plugin API PR5: Integrates plugin lifecycle control with FlutterFragment. (flutter/engine#9083)
8b1199c4d Implemented Log proxy that only logs in BuildConfig.DEBUG (#25391). (flutter/engine#9122)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (cbracken@google.com), and stop
the roller if necessary.
- Fixed extentInside calculation in ScrollMetrics
- Added asserts to extentInside getter, as well as ScrollPosition.applyContentDimensions to enforce minScrollExtent <= maxScrollExtent
- Added padding to ScrollbarPainter, updated implementation. Took care of some edge cases.
- Changed some scroll bar constants on Cupertino side.
This adds two new builders to the `Image` class:
* `frameBuilder`, which allows callers to control the widget
created by an [Image].
* `loadingBuilder`, which allows callers fine-grained control
over how to display loading progress of an image to the user.
`FadeInImage` can be simplified by migrating to the new API.
This is done in a follow-on commit.
https://github.com/flutter/flutter/issues/32374
Rather than hard-coding a set of locations to check, use vswhere (which
is installed by VS 2017 and later), and construct the vcvars64.bat path
relative to that. This will allow Windows builds to work without special
configuration for people who have VS installed at a custom path.
Also adds error logging with different messages for each failure point,
so that rather than the not-very-informative 'failed to find
vcvars64.bat' message, the failure will provide feedback about what to
do.
This is an interim solution; later this will be replaced by a
VisualStudio class with associated validator to match the structure of
the other toolchains.
Fixes#33249
Invoking msbuild with runInShell makes handling path escaping more
error-prone, and substantially increases the chances of running into
maximum path limits. This replaces the direct call with a .bat wrapper
that calls vsvars64.bat then msbuild, and uses relative paths within the
script to keep command lengths short.
Fixes https://github.com/flutter/flutter/issues/32792
* Deprecates `BinaryMessages` in favor of a default instance of `BinaryMessenger`, called `defaultBinaryMessenger`
* Platform channels use the `defaultBinaryMessenger` for their binaryMessenger default argument.
Replacing the algorithm for finding the first focusable item in the focus tree. Somehow it was a kind of gibberish before, and really didn't work or make sense.
* Adding sample and animation for Flow widget
* Updated dart templates for layout in API docs
* Updated the sample code for a clearer example.
* make clean