Bug #448
Scenic should quit gracefully when DISPLAY is not set or invalid
| Status: | Closed | Start date: | ||
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 0% |
||
| Category: | scenic.gtk | Spent time: | - | |
| Target version: | 0.5.1 | |||
| Resolution: | fixed | Version: | 0.5 | |
| Trac ticket ID: | 448 |
Description
How to reproduce:
* Start scenic
Traceback:
<pre>
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: gobject.Warning: invalid (NULL) pointer instance
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: gobject.Warning: g_signal_connect_data: assertion @G_TYPE_CHECK_INSTANCE (instance)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: gtk.GtkWarning: gtk_settings_get_for_screen: assertion @GDK_IS_SCREEN (screen)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: gobject.Warning: g_object_get: assertion @G_IS_OBJECT (object)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: gobject.Warning: value "TRUE" of type @gboolean' is invalid or out of range for property @visible' of type @gboolean'
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: gtk.GtkWarning: gdk_pango_context_get_for_screen: assertion @GDK_IS_SCREEN (screen)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: pango.PangoWarning: pango_context_set_font_description: assertion @context != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: pango.PangoWarning: pango_context_set_base_dir: assertion @context != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: pango.PangoWarning: pango_context_set_language: assertion @context != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: pango.PangoWarning: pango_layout_new: assertion @context != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: pango.PangoWarning: pango_layout_set_single_paragraph_mode: assertion @PANGO_IS_LAYOUT (layout)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: pango.PangoWarning: pango_layout_set_ellipsize: assertion @PANGO_IS_LAYOUT (layout)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: pango.PangoWarning: pango_layout_set_width: assertion @layout != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: pango.PangoWarning: pango_layout_set_wrap: assertion @PANGO_IS_LAYOUT (layout)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: pango.PangoWarning: pango_layout_set_alignment: assertion @layout != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: pango.PangoWarning: pango_layout_set_attributes: assertion @layout != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: pango.PangoWarning: pango_layout_get_extents: assertion @layout != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: gobject.Warning: g_object_unref: assertion @G_IS_OBJECT (object)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/glade.py:58: pango.PangoWarning: pango_layout_set_text: assertion @layout != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:228: gtk.GtkWarning: gtk_window_set_screen: assertion @GDK_IS_SCREEN (screen)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: gtk.GtkWarning: gdk_pango_context_get_for_screen: assertion @GDK_IS_SCREEN (screen)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: pango.PangoWarning: pango_context_set_font_description: assertion @context != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: pango.PangoWarning: pango_context_set_base_dir: assertion @context != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: pango.PangoWarning: pango_context_set_language: assertion @context != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: pango.PangoWarning: pango_layout_new: assertion @context != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: pango.PangoWarning: pango_layout_set_text: assertion @layout != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: pango.PangoWarning: pango_layout_set_attributes: assertion @layout != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: pango.PangoWarning: pango_layout_set_alignment: assertion @layout != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: pango.PangoWarning: pango_layout_set_ellipsize: assertion @PANGO_IS_LAYOUT (layout)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: pango.PangoWarning: pango_layout_set_single_paragraph_mode: assertion @PANGO_IS_LAYOUT (layout)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: pango.PangoWarning: pango_layout_set_width: assertion @layout != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: pango.PangoWarning: pango_layout_get_extents: assertion @layout != NULL' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: gtk.GtkWarning: gtk_settings_get_for_screen: assertion @GDK_IS_SCREEN (screen)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: gobject.Warning: g_object_get: assertion @G_IS_OBJECT (object)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: pango.PangoWarning: pango_layout_get_pixel_extents: assertion @PANGO_IS_LAYOUT (layout)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: gobject.Warning: g_object_unref: assertion @G_IS_OBJECT (object)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: gtk.GtkWarning: gtk_icon_theme_get_for_screen: assertion @GDK_IS_SCREEN (screen)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: gtk.GtkWarning: gtk_icon_size_lookup_for_settings: assertion @GTK_IS_SETTINGS (settings)' failed
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: gtk.GtkWarning: Invalid icon size 1
2010/04/26 11:44 -0400 [-] /home/scenic/src/scenic/trunk/py/scenic/gui.py:304: gtk.GtkWarning: gtk_icon_theme_load_icon: assertion @GTK_IS_ICON_THEME (icon_theme)' failed
./py/run: line 5: 22594 Segmentation fault PATH=../src/main:./scripts:${PATH} ./scripts/scenic $@
</pre>
History
Updated by Alexandre Quessy about 3 years ago
- Status changed from New to In Progress
I already check if the os.environ has a key called "DISPLAY". Should be use xdpyinfo to see if the display exists? Otherwise, should we just see if it matches :[0-10].[0-10] ?
Updated by Alexandre Quessy about 3 years ago
I think we should use some GTK mechanism to check that.
Something like GDK_IS_SCREEN (screen)
Updated by Alexandre Quessy about 3 years ago
- Status changed from In Progress to Closed
- Resolution set to fixed
Done in r5741.
GTK rocks.