View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000659Ecere SDKcompilerpublic2011-10-17 07:282014-05-18 21:43
Reporterjerome 
Assigned To 
PrioritylowSeverityminorReproducibilityhave not tried
StatusnewResolutionopen 
PlatformOSOS Version
Product Version 
Target Version0.46 eC IIFixed in Version 
Summary0000659: Method/Symbol mixups on reverse-ordered Window hierarchy (only design issues remain) (ide/libec)
DescriptionA Symbol object is created and assigned to a Method object in firstPass.ec, ~line 462 -- ProcessClass().

That Method object eventually would be deleted (if not for the patch mentionned below) when the hierarchy is fixed and the system realizes it's a virtual method, but there's no way to go back and make the function declarator's symbol point to the new method.

A proper fix would be to ensure hierarchies are established in firstPass.ec before assigning Method objects to AST elements (Split in 2 passes, first do all the eSystem_RegisterClass, then do the methods).
TagsNo tags attached.
Attached Files? file icon GlobalSettingsDialog.ec [^] (35,173 bytes) 2011-10-17 07:28

- Relationships

-  Notes
(0000481)
jerome (administrator)
2011-10-17 08:43

In firstPass, a eSystem_RegisterClass is freeing up the method that was saved into a function declarator Symbol beforehand.
(0000482)
jerome (administrator)
2011-10-17 23:17
edited on: 2011-10-18 18:10

Added a temporary patch to prevent a crash:

https://github.com/ecere/sdk/commit/84d925c3301f3a5ecb77146c11bd92060f46eb03 [^]

The virtual method DOES get called.

But the auto-completion fails on event methods

(0000484)
jerome (administrator)
2011-10-18 18:42

Fixed auto completion issue in https://github.com/ecere/sdk/commit/dc1d794eb67fa8fc29e69953b8a6277423881574 [^]

Only leak remains.
(0000485)
jerome (administrator)
2011-10-18 19:10

The leak wasn't actually there since crash patch, until auto-completion was put.
Worked around the leak in https://github.com/ecere/sdk/commit/5998fb97b79a3f610963854bc78d271186d0951e [^]

- Issue History
Date Modified Username Field Change
2011-10-17 07:28 jerome New Issue
2011-10-17 07:28 jerome File Added: GlobalSettingsDialog.ec
2011-10-17 08:43 jerome Note Added: 0000481
2011-10-17 23:17 jerome Note Added: 0000482
2011-10-18 18:09 jerome Priority immediate => urgent
2011-10-18 18:09 jerome Target Version 0.44 pre-release 2 => 0.44 pre-release 3
2011-10-18 18:10 jerome Note Edited: 0000482
2011-10-18 18:10 jerome Note Added: 0000483
2011-10-18 18:11 jerome Severity crash => minor
2011-10-18 18:11 jerome Summary ide/autocomplete: Crash on 'void OnCreate(' preceding another void Load() method in CompilerDirectoriesTab => ide/autocomplete: Leak and Auto-Completion failure on reverse-ordered Window hierarchy
2011-10-18 18:42 jerome Note Added: 0000484
2011-10-18 18:42 jerome Summary ide/autocomplete: Leak and Auto-Completion failure on reverse-ordered Window hierarchy => ide/libec: Leak on reverse-ordered Window hierarchy
2011-10-18 18:44 jerome Note Edited: 0000483
2011-10-18 18:44 jerome Note Deleted: 0000483
2011-10-18 18:50 jerome Description Updated
2011-10-18 19:10 jerome Note Added: 0000485
2011-10-18 19:11 jerome Priority urgent => low
2011-10-18 19:11 jerome Target Version 0.44 pre-release 3 => 0.45
2011-10-18 19:11 jerome Summary ide/libec: Leak on reverse-ordered Window hierarchy => ide/libec: Method/Symbol mixups on reverse-ordered Window hierarchy (only design issues remain)
2012-03-08 16:02 redj Target Version old 0.45 => 0.45 Ginkakuji
2012-03-29 07:52 redj Category => ide
2012-03-29 07:52 redj Project @3@ => Ecere SDK
2012-03-29 08:34 redj Category ide => ec
2012-03-29 08:34 redj Summary ide/libec: Method/Symbol mixups on reverse-ordered Window hierarchy (only design issues remain) => Method/Symbol mixups on reverse-ordered Window hierarchy (only design issues remain) (ide/libec)
2012-03-29 08:34 redj Category ec => compiler
2014-05-18 21:43 jerome Target Version 0.45 Ginkakuji => 0.46 eC II



Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker