Steph Fox wrote:
It'd be nice to be able to view that alleged GtkFileChooserDialog, but
it's buried deep in privacy (and style helpers, but we won't go there).
There's some reason to believe its typing hasn't always been reliable,
so if you could confirm you have g_object_class_install_property()
defined for the file chooser dialog in your copy of the source it'd be
good.
I have exactly the same call to g_object_class_install_property that you
have.
Some high-level debugging might be helpful too, e.g. are there any
signals emitted prior to the death of the app? Particularly 'response',
or 'current-folder-changed', or 'selection-changed'? Which directory
does PHP think you're in when you're calling show()?
Attached is the output of a modified version of the bug script. First I
cat'd the script then ran it. The only signals emitted are notify, show
and destroy. I thought the errors were only on construction but they
appear on construction, when the button is added to the window, and
twice after the main loop stops.
Thanks,
Scott
Script started on Wed 05 Apr 2006 11:18:34 AM EDT
]0;scott@smattocks:~/playground/php-gtk/test[smattocks [32m11:18 AM
[33mtest[0m]$ cat
bug_gtkgfi[K[K[Kg[Kfilechooserbutton_actionselectfolder.phpw
<?php
function debug($func)
{
echo 'Callback: ' . $func . "\n";
}
// Create a window.
$window = new GtkWindow();
// Set it up to close cleanly.
$window->connect_simple('destroy', array('Gtk', 'main_quit'));
// Create a GtkFileChooserButton. Errors occur here.
echo "\n--- CONSTRUCTOR ---\n";
$file = new GtkFileChooserButton('Test',
Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER
);
echo "\n--- END CONSTRUCTOR ---\n";
// Connect some signals.
echo "\n--- CONNECT ---\n";
$file->connect_simple('current-folder-changed', 'debug',
'current-folder-changed');
$file->connect_simple('file-activated', 'debug', 'file-activated');
$file->connect_simple('selection-changed', 'debug', 'selection-changed');
$file->connect_simple('update-preview', 'debug', 'update-preview');
$file->connect_simple('notify', 'debug', 'notify');
$file->connect_simple('show', 'debug', 'show');
$file->connect_simple('response', 'debug', 'response');
$file->connect_simple('destroy', 'debug', 'destroy');
echo "\n--- END CONNECT ---\n";
// Add the button to the window.
echo "\n--- ADD ---\n";
$window->add($file);
echo "\n--- END ADD ---\n";
// Show everything and start the loop.
echo "\n--- SHOW ---\n";
echo 'CWD: ' . getcwd() . "\n";
$window->show_all();
echo "\n--- END SHOW ---\n";
echo "\n--- MAIN ---\n";
Gtk::main();
echo "\n--- END MAIN ---\n";
?>
]0;scott@smattocks:~/playground/php-gtk/test[smattocks [32m11:18 AM
[33mtest[0m]$ [Kphp bug_gtkfilechooserbutton_actionselectfolder.phpw
--- CONSTRUCTOR ---
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_get_volume_for_path: assertion `path != NULL' failed
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_render_icon: assertion `path != NULL' failed
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_get_parent: assertion `path != NULL' failed
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_get_folder: assertion `path != NULL' failed
--- END CONSTRUCTOR ---
--- CONNECT ---
Warning: connect_simple(): unknown signal name 'response' in
/home/scott/playground/php-gtk/test/bug_gtkfilechooserbutton_actionselectfolder.phpw
on line 27
--- END CONNECT ---
--- ADD ---
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_get_volume_for_path: assertion `path != NULL' failed
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_render_icon: assertion `path != NULL' failed
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_get_parent: assertion `path != NULL' failed
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_get_folder: assertion `path != NULL' failed
Callback: notify
--- END ADD ---
--- SHOW ---
CWD: /home/scott/playground/php-gtk/test
Callback: show
Callback: notify
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_get_volume_for_path: assertion `path != NULL' failed
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_render_icon: assertion `path != NULL' failed
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_get_parent: assertion `path != NULL' failed
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_get_folder: assertion `path != NULL' failed
Callback: notify
--- END SHOW ---
--- MAIN ---
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_get_volume_for_path: assertion `path != NULL' failed
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_render_icon: assertion `path != NULL' failed
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_get_parent: assertion `path != NULL' failed
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_get_folder: assertion `path != NULL' failed
Callback: notify
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_get_volume_for_path: assertion `path != NULL' failed
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_render_icon: assertion `path != NULL' failed
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_get_parent: assertion `path != NULL' failed
(bug_gtkfilechooserbutton_actionselectfolder.phpw:28364): Gtk-CRITICAL **:
gtk_file_system_get_folder: assertion `path != NULL' failed
Callback: notify
Callback: destroy
--- END MAIN ---
]0;scott@smattocks:~/playground/php-gtk/test[smattocks [32m11:18 AM
[33mtest[0m]$ [Kesxi[K[K[Kxit
exit
Script done on Wed 05 Apr 2006 11:18:52 AM EDT
--
PHP-GTK Development Mailing List (http://gtk.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
|