View Issue Details

IDProjectCategoryView StatusLast Update
0000659Ecere SDKcompilerpublic2014-05-18 21:43
Reporterjerome Assigned To 
PrioritylowSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Target Version0.46 eC II 
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.

Activities

2011-10-17 07:28

 

GlobalSettingsDialog.ec (35,173 bytes)

jerome

2011-10-17 08:43

administrator   ~0000481

In firstPass, a eSystem_RegisterClass is freeing up the method that was saved into a function declarator Symbol beforehand.

jerome

2011-10-17 23:17

administrator   ~0000482

Last edited: 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

jerome

2011-10-18 18:42

administrator   ~0000484

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

Only leak remains.

jerome

2011-10-18 19:10

administrator   ~0000485

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: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: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