I am trying to load a dialog from an xrc file, created by DialogBlocks, and I get this error:
Gtk-CRITICAL **: gtk_window_set_modal: assertion `GTK_IS_WINDOW (window)' failed Any help would be appreciated. Peter #!/usr/bin/perl -w package MyDialog; use strict; use Wx qw(:everything); use Wx::Event qw(:everything); use Wx::XRC ; use base qw(Wx::Dialog); sub new { my( $class, $label ) = @_; my $dialog = $class->SUPER::new ; my $xrc = Wx::XmlResource->new(); $xrc->InitAllHandlers(); $xrc->Load("test.xrc") or die "Load failed : $!\n" ; $xrc->LoadOnDialog($dialog,undef, $class) ; $dialog->ShowModal ; $dialog->Destroy ; return $dialog; } sub OnClose { my( $this, $event ) = @_; $this->Destroy; } package main; use Wx ; my $app = Wx::SimpleApp->new; my $dialog = MyDialog->new( "wxPerl dialog sample" ); $dialog->Show; $app->MainLoop; <?xml version="1.0" encoding="UTF-8"?> <resource version="2.3.0.1" xmlns="http://www.wxwidgets.org/wxxrc"> <object class="wxDialog" name="ID_TEST_DIALOG"> <style>wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX| wxTAB_TRAVERSAL</style> <exstyle>wxWS_EX_BLOCK_EVENTS</exstyle> <size>400,300</size> <title>Analysis</title> <centered>1</centered> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> <flag>wxGROW|wxALL</flag> <border>5</border> <option>1</option> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> <flag>wxGROW|wxALL</flag> <border>5</border> <option>1</option> <object class="wxNotebook" name="ID_NOTEBOOK"> <style>wxBK_DEFAULT</style> <object class="notebookpage"> <label>Label1</label> <object class="wxPanel" name="ID_PANEL"> <style>wxSUNKEN_BORDER| wxTAB_TRAVERSAL</style> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> </object> </object> </object> <object class="notebookpage"> <label>Label2</label> <object class="wxPanel" name="ID_PANEL1"> <style>wxSUNKEN_BORDER| wxTAB_TRAVERSAL</style> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> </object> </object> </object> <object class="notebookpage"> <label>Label3</label> <object class="wxPanel" name="ID_PANEL2"> <style>wxSUNKEN_BORDER| wxTAB_TRAVERSAL</style> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> </object> </object> </object> </object> </object> </object> </object> </object> </object> </resource>