-
Notifications
You must be signed in to change notification settings - Fork 29.6k
Closed
flutter/engine
#49293Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work lista: desktopRunning on desktopRunning on desktopengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.platform-linuxBuilding on or for Linux specificallyBuilding on or for Linux specificallyr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-linuxOwned by the Linux platform teamOwned by the Linux platform team
Description
Some GTK objects declared in the Linux embedder contain instances of std::function
For example, send_key_event in _FlKeyEmbedderResponder.
The _FlKeyEmbedderResponder is initialized using g_object_new. g_object_new appears to be zeroing out the entire _FlKeyEmbedderResponder struct and is not calling constructors for any C++ object members within the struct.
This will potentially fail on implementations of std::function that depend on proper construction. Specifically, in flutter/engine#49002 we tried to upgrade to a new version of the libcxx ABI and found that usage of the std::function members crashes if the constructor has not run.
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work lista: desktopRunning on desktopRunning on desktopengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.platform-linuxBuilding on or for Linux specificallyBuilding on or for Linux specificallyr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-linuxOwned by the Linux platform teamOwned by the Linux platform team