IDE uses integer Tag property for Pointers that causes problem with 64bit lazarus
Original Reporter info from Mantis: and3md @and3md
-
Reporter name: Andrzej Kilijanski
Original Reporter info from Mantis: and3md @and3md
- Reporter name: Andrzej Kilijanski
Description:
I found something I think can be problem with lazarus on x64:
Revision 27315:
Index: trunk/ide/mainbase.pas
===================================================================
--- trunk/ide/mainbase.pas (revision 27314)
+++ trunk/ide/mainbase.pas (revision 27315)
@@ -1092,7 +1092,7 @@
CurMenuItem.Caption := SourceEditorManager.SourceEditors[i].PageName;
CurMenuItem.MenuItem.Checked := SourceEditorManager.ActiveEditor = SourceEditorManager.SourceEditors[i] ;
CurMenuItem.OnClick := @mnuWindowSourceItemClick;
- CurMenuItem.Tag := PtrInt(Pointer(SourceEditorManager.SourceEditors[i]));
+ CurMenuItem.Tag := Integer(Pointer(SourceEditorManager.SourceEditors[i]));
inc(ItemCount);
end;
end;
If Tag is Integer on 64bit then adding pointers to Tag is a bug.
Integer is 32bit in 64bit compiler:
http://wiki.freepascal.org/Integer
Mantis conversion info:
- Mantis ID: 17642
- Version: 0.9.29 (SVN)
- Fixed in revision: 27684 (#78d480b9)
- Monitored by: » luizamerico (Luiz Americo), » @marcoonthegit (Marco van de Voort)