www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.dwt - TreeEditor crash bug

reply "Simen Haugen" <simen norstat.no> writes:
Here's a small example that quits with a long stacktrace. I'm using dmd 
1.030, tango rev. 3543 and dwt rev. 233 on WinXP SP2


import dwt.DWT;
import dwt.layout.FillLayout;
import dwt.widgets.Display;
import dwt.widgets.Shell;
import dwt.widgets.Tree;
import dwt.custom.TreeEditor;

void main()
{
 auto display = new Display;
 auto shell = new Shell(display, DWT.NONE);
 shell.setLayout(new FillLayout());
 auto tree = new Tree(shell, DWT.NONE);
 auto ed = new TreeEditor(tree); // Remove this line to avoid crash

 shell.open(); // Crashes here
 while( !shell.isDisposed() )
 {
  if( !display.readAndDispatch() )
   display.sleep();
 }
}
Jun 09 2008
parent reply "Simen Haugen" <simen norstat.no> writes:
I just tried the same using Table and TableEditor and get a stacktrace then 
too.

"Simen Haugen" <simen norstat.no> wrote in message 
news:g2jiq4$1ev0$1 digitalmars.com...
 Here's a small example that quits with a long stacktrace. I'm using dmd 
 1.030, tango rev. 3543 and dwt rev. 233 on WinXP SP2


 import dwt.DWT;
 import dwt.layout.FillLayout;
 import dwt.widgets.Display;
 import dwt.widgets.Shell;
 import dwt.widgets.Tree;
 import dwt.custom.TreeEditor;

 void main()
 {
 auto display = new Display;
 auto shell = new Shell(display, DWT.NONE);
 shell.setLayout(new FillLayout());
 auto tree = new Tree(shell, DWT.NONE);
 auto ed = new TreeEditor(tree); // Remove this line to avoid crash

 shell.open(); // Crashes here
 while( !shell.isDisposed() )
 {
  if( !display.readAndDispatch() )
   display.sleep();
 }
 }

 

Jun 09 2008
parent reply Frank Benoit <keinfarbton googlemail.com> writes:
Simen Haugen schrieb:
 I just tried the same using Table and TableEditor and get a stacktrace then 
 too.
 
 "Simen Haugen" <simen norstat.no> wrote in message 
 news:g2jiq4$1ev0$1 digitalmars.com...
 Here's a small example that quits with a long stacktrace. I'm using dmd 
 1.030, tango rev. 3543 and dwt rev. 233 on WinXP SP2


 import dwt.DWT;
 import dwt.layout.FillLayout;
 import dwt.widgets.Display;
 import dwt.widgets.Shell;
 import dwt.widgets.Tree;
 import dwt.custom.TreeEditor;

 void main()
 {
 auto display = new Display;
 auto shell = new Shell(display, DWT.NONE);
 shell.setLayout(new FillLayout());
 auto tree = new Tree(shell, DWT.NONE);
 auto ed = new TreeEditor(tree); // Remove this line to avoid crash

 shell.open(); // Crashes here
 while( !shell.isDisposed() )
 {
  if( !display.readAndDispatch() )
   display.sleep();
 }
 }


DMD 1.030 produces binaries that crash if anonymous classes are used. TreeEditor makes use of anonymous classes. Please, can you retry with DMD 1.028? See also: http://www.dsource.org/projects/dwt/wiki/Requirements
Jun 09 2008
parent "Simen Haugen" <simen norstat.no> writes:
"Frank Benoit" <keinfarbton googlemail.com> wrote in message 
news:g2jo2p$1q5d$1 digitalmars.com...
 DMD 1.030 produces binaries that crash if anonymous classes are used. 
 TreeEditor makes use of anonymous classes.
 Please, can you retry with DMD 1.028?
 See also: http://www.dsource.org/projects/dwt/wiki/Requirements

Aha.. I havent used anon classes before, and was wondering why the compiler let me use outer variables with anonymous classes. No error, no warning, but still it crashed regulary (but not always). 1.028 works. Thanks!
Jun 09 2008