这是indexloc提供的服务,不要输入任何密码
Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Fix CGMutablePathRef memory leaks #14275

Merged
merged 3 commits into from
Dec 11, 2019

Conversation

zhongwuzw
Copy link
Member

Fixes pathRef memory leaks if path is invalid.

Copy link
Member

@chinmaygarde chinmaygarde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should use fml::CFRef obect in fml/platform/darwin to keep track of CoreFoundation objects. That RAII wrapper will avoid such errors in the future.

@chinmaygarde
Copy link
Member

chinmaygarde commented Dec 11, 2019

@cyanglaz This file leaks CAShapeLayers. Please note that this translation unit does NOT use ARC. and all ObjC objects must be explicitly released. We should audit existing users and fix leaks.

@zhongwuzw
Copy link
Member Author

@chinmaygarde I'll fix them in another PR now.

@chinmaygarde
Copy link
Member

@zhongwuzw Oh yeah, your patch is great. Just that I found other leaks while reviewing this translation unit. Thanks for the patch :)

BTW, the presubmit is failing because clang-format wants you to order the headers.

@cyanglaz
Copy link
Contributor

cyanglaz commented Dec 11, 2019

@chinmaygarde Thanks. I opened an issue to track the fixes for this file. flutter/flutter#46750
Will work on it as soon as I get a chance

@zhongwuzw
Copy link
Member Author

@chinmaygarde Done.

@chinmaygarde chinmaygarde merged commit 9e4c6ad into flutter:master Dec 11, 2019
@zhongwuzw zhongwuzw deleted the fix_ios_cgpath_leaks branch December 12, 2019 04:01
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 13, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 13, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 13, 2019
iskakaushik pushed a commit to flutter/flutter that referenced this pull request Dec 13, 2019
* fb9dfe0 [fuchsia] Move async_get_default_dispatcher include to the header (flutter/engine#14351)

* 3ebb7b4 Roll src/third_party/skia 75799967be60..3517aa7b14ad (3 commits) (flutter/engine#14345)

* 2713225 Remove duplicate and outdated src/third_party/dart/tools/sdks entry from DEPS. (flutter/engine#14340)

* 80d80ff Add ability to control dithering on Paint (flutter/engine#13868)

* 8595361 Conditionally use offscreen root surface only when needed

* 0a40f3d Assert that arc end caps on canvases with root surface transformations are drawn correctly. (flutter/engine#14359)

* d698d96 Fix missing timeline event of flutter engine's startup time (flutter/engine#14319)

* 9dc23b8 Fix missing API stream when record event in systrace (flutter/engine#14323)

* 9e4c6ad Fix CGMutablePathRef memory leaks when the path is invalid. (flutter/engine#14275)

* fc8cafb objcdoc fix for some ambiguity (flutter/engine#14367)

* 9bafb3c [tests] Use distinct begin and end times (flutter/engine#14361)

* 897ce34 Roll src/third_party/skia 3517aa7b14ad..826484f2631f (18 commits) (flutter/engine#14375)

* 1ce85be [flutter_runner] Enable Skia tracing by default on Fuchsia (flutter/engine#13457)

* a7b6ee5 Smart quote/dash configuration support in iOS (flutter/engine#13863)

* 48ba39c Roll fuchsia/sdk/core/mac-amd64 from otkJA... to SlgE8... (flutter/engine#14407)

* 0081e8c Remove unused _TypeNone enum field. (flutter/engine#14440)

* d8edfea Roll src/third_party/dart d9fa37e85d5c..45db29709547 (48 commits) (flutter/engine#14453)

* f650bca Refactoring text editing. Strategy pattern is used to handle different browser/operating system and a11y behavior. (flutter/engine#14131)

* 4275b49 Fix type in build_fuchsia_artifacts (flutter/engine#14452)

* 0c24f3d Roll src/third_party/skia 51b99659ed82..c514e7d9be6e (13 commits) (flutter/engine#14457)

* ffbe2a4 [testing] Move test vsync waiters to their own TUs (flutter/engine#14456)

* 181ad4e Use futures to images used for comparison with fixtures in embedder unit-tests. (flutter/engine#14465)

* e0e0ac0 [testing] Make vsync waiters pluggable in shell_unittests (flutter/engine#14463)
Partizann pushed a commit to Partizann/engine that referenced this pull request Mar 10, 2020
filmil pushed a commit to filmil/engine that referenced this pull request Mar 13, 2020
@liyuqian liyuqian added perf: memory Performance issues related to memory severe: performance Relates to speed or footprint issues. labels Jul 28, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla: yes perf: memory Performance issues related to memory severe: performance Relates to speed or footprint issues.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants