You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I realize that Linux/Mojo isn't officially supported, but I was concerned that this was indicative of a more general problem.
I'm running the sample code in the tutorial. If I take out the Center widget, it works. If I put in the center widget, it just shows a black screen. See the comments below in DemoHome.build().
import 'package:flutter/material.dart';
class MyToolBar extends StatelessComponent {
Widget build(BuildContext context) {
return new Container(
height: 56.0,
padding: const EdgeDims.symmetric(horizontal: 8.0),
child: new Material(
child: new Row([
new NetworkImage(src: 'menu.png', width: 25.0, height: 25.0),
new Flexible(child: new Text('My awesome toolbar')),
new NetworkImage(src: 'search.png', width: 25.0, height: 25.0),
])));
}
}
class DemoHome extends StatelessComponent {
Widget build(BuildContext context) {
// This line just gives a black screen on Linux.
return new Center(child: new MyToolBar());
// This line works on Linux.
return new MyToolBar();
}
}
void main() {
runApp(new MaterialApp(
title: 'Tutorial app',
routes: {'/': (RouteArguments args) => new DemoHome()}));
}
Comment by Hixie Thursday Oct 15, 2015 at 05:07 GMT
Can you attach the output of debugDumpApp() and debugDumpRenderTree() as it appears one second after rendering? (i.e. create a one-second timer, then call those functions from there)
You'll need to import flutter/rendering.dart for debugDumpRenderTree().
Comment by Hixie Thursday Oct 15, 2015 at 18:20 GMT
Please file a separate bug for that assert. Thanks.
If merely setting debugPaintSizeEnabled makes things work, this is probably a Skia-level bug. @chinmaygarde may have ideas. If it's Linux-specific, though, I don't think we want to spend too many cycles looking at this.
Comment by chinmaygarde Thursday Oct 15, 2015 at 20:32 GMT
We would need to capture an SkPicture trace. Unfortunately, the tracing controller on Linux does not know where to place these traces (its a platform specific path). I can try to figure out whats going on after I am done with the precompiled snapshotting stuff.
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.
Activity
FlutterIssues commentedon Nov 9, 2015
Tuesday Oct 13, 2015 at 20:22 GMT
Does it work on Android/Mojo?
FlutterIssues commentedon Nov 9, 2015
Tuesday Oct 13, 2015 at 20:24 GMT
Yes, it works on Android.
FlutterIssues commentedon Nov 9, 2015
Wednesday Oct 14, 2015 at 00:10 GMT
Crazy. I'm going to rework this tutorial soon to use the material widgets so you get something beautiful in the end.
FlutterIssues commentedon Nov 9, 2015
Thursday Oct 15, 2015 at 05:07 GMT
Can you attach the output of debugDumpApp() and debugDumpRenderTree() as it appears one second after rendering? (i.e. create a one-second timer, then call those functions from there)
You'll need to import flutter/rendering.dart for debugDumpRenderTree().
FlutterIssues commentedon Nov 9, 2015
Thursday Oct 15, 2015 at 16:28 GMT
I'm not allowed to upload a .txt file, so here it is inline:
FlutterIssues commentedon Nov 9, 2015
Thursday Oct 15, 2015 at 16:52 GMT
That all looks fine... How tall is your window? Are you sure you're seeing the whole 320.0x640.0 canvas?
Does anything render if you set debugPaintSizeEnabled to true at the top of your main()?
FlutterIssues commentedon Nov 9, 2015
Thursday Oct 15, 2015 at 16:59 GMT
You may have to use checked mode to use debugPaintSizeEnabled.
Actually, in general I highly recommend using checked mode. See if you're hitting any asserts.
FlutterIssues commentedon Nov 9, 2015
Thursday Oct 15, 2015 at 18:02 GMT
If I set
debugPaintSizeEnabled, then everything works.One small (unrelated) issue - in box_painter.dart, line 310, this line asserts:
However, I don't pass in
stops, sostopsis null and the assert itself is the problem.If I comment out that assert, then it runs cleanly.
FlutterIssues commentedon Nov 9, 2015
Thursday Oct 15, 2015 at 18:20 GMT
Please file a separate bug for that assert. Thanks.
If merely setting debugPaintSizeEnabled makes things work, this is probably a Skia-level bug. @chinmaygarde may have ideas. If it's Linux-specific, though, I don't think we want to spend too many cycles looking at this.
FlutterIssues commentedon Nov 9, 2015
Thursday Oct 15, 2015 at 20:32 GMT
We would need to capture an SkPicture trace. Unfortunately, the tracing controller on Linux does not know where to place these traces (its a platform specific path). I can try to figure out whats going on after I am done with the precompiled snapshotting stuff.
If in a hurry, the platform needs to set
TracingController::set_picture_tracing_base_pathon shell initialization. Then traces can be captured from Dart via theStatisticsOverlay(https://github.com/flutter/engine/blob/master/sky/packages/sky/lib/src/widgets/statistics_overlay.dart#L84). Or you can override this flag in C++ to always capture traces :) https://github.com/flutter/engine/blob/fb6143da0f2bcfbe0879b12b7ea777955e51fdc3/sky/shell/gpu/rasterizer.cc#L84jimbeveridge commentedon Nov 12, 2015
This problem no longer happens. Closing issue.
Add demangle workaround for dynamic_release (flutter#198)
github-actions commentedon Sep 7, 2021
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.