View Issue Details

IDProjectCategoryView StatusLast Update
0000279DarkRadiantGeneralpublic11.04.2008 21:05
Reporterorbweaver Assigned Toorbweaver  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Fixed in Version0.9.0 
Summary0000279: Crash when loading a new map after displaying LightTexture property editor
Description1. Create a light
2. Add a "texture" key and use the "Choose texture" button to display the LightTextureChooser dialog.
3. Close the dialog with OK (it is not necessary to select a texture first)
4. Choose a recently-opened map from the File menu
5. Click No to the "Save map" question.

DarkRadiant will then segfault.
Additional InformationTested on Windows, yet to be replicated on Linux.
TagsNo tags attached.

Activities

orbweaver

orbweaver

28.04.2007 14:45

developer   ~0000594

Confirmed on Linux, here is the stacktrace:

Thread [1] (Suspended: Signal 'SIGSEGV' received. Description: Segmentation fault.)
    70 ui::EntityInspector::treeSelectionChanged() /radiant/ui/einspector/EntityInspector.cpp:428 0x0811cae5
    69 ui::EntityInspector::callbackTreeSelectionChanged() /radiant/ui/einspector/EntityInspector.cpp:338 0x0811cffb
    68 g_cclosure_marshal_VOID__VOID() 0xb7808423
    67 g_closure_invoke() 0xb77fc79f
    66 g_signal_stop_emission() 0xb780b2ea
    65 g_signal_emit_valist() 0xb780cb19
    64 g_signal_emit_by_name() 0xb7810030
    63 gtk_tree_view_set_model() 0xb7cb5693
    62 g_cclosure_marshal_VOID__BOXED() 0xb7808c85
    61 g_closure_invoke() 0xb77fc79f
    60 g_signal_stop_emission() 0xb780b2ea
    59 g_signal_emit_valist() 0xb780cb19
    58 g_signal_emit() 0xb780ce89
    57 gtk_tree_model_row_deleted() 0xb7c91be4
    56 gtk_list_store_remove() 0xb7bdfd8e
    55 gtk_list_store_clear() 0xb7be02b0
    54 ui::EntityInspector::callbackRedraw() /radiant/ui/einspector/EntityInspector.cpp:262 0x0811cfe4
    53 Member<ui::EntityInspector, void, &() /libs/generic/functional.h:13 0x0811e0fd
    52 BindFirstOpaque<Member<ui::EntityInspector, void, &() /libs/generic/callback.h:120 0x0811e119
    51 Callback0<void>::operator() /libs/generic/callback.h:282 0x0809e6ba
    50 IdleDraw::draw() /libs/gtkutil/idledraw.h:35 0x0809e6d1
    49 g_child_watch_add() 0xb7ee2bf2
    48 g_main_context_dispatch() 0xb7ee08d6
    47 g_main_context_check() 0xb7ee3996
    46 g_main_context_iteration() 0xb7ee3e1e
    45 gtk_main_iteration() 0xb7be2f64
    44 gtkutil::ModalProgressDialog::handleEvents() /libs/gtkutil/ModalProgressDialog.cpp:69 0xb6ff9fad
    43 ModalProgressDialog() /libs/gtkutil/ModalProgressDialog.cpp:45 0xb6ffa42d
    42 Map_Read() /plugins/mapdoom3/parse.cpp:271 0xb6ff037d
    41 MapDoom3API::readGraph() /plugins/mapdoom3/mapdoom3.cpp:157 0xb6fe8130
    40 MapResource_loadFile() /radiant/referencecache.cpp:79 0x080e7a68
    39 MapResource_load() /radiant/referencecache.cpp:98 0x080e8874
    38 Model_load() /radiant/referencecache.cpp:371 0x080e8c7d
    37 ModelResource::loadCached() /radiant/referencecache.cpp:476 0x080eedb8
    36 ModelResource::loadModel() /radiant/referencecache.cpp:489 0x080eef07
    35 ModelResource::load() /radiant/referencecache.cpp:499 0x080eefb6
    34 Map::realise() /radiant/map.cpp:359 0x080be519
    33 ModelResource::attach() /radiant/referencecache.cpp:561 0x080ee9fd
    32 Map_LoadFile() /radiant/map.cpp:1200 0x080aaa74
    31 ui::MRU::loadMap() /radiant/ui/mru/MRU.cpp:84 0x08250a16
    30 ui::MRUMenuItem::activate() /radiant/ui/mru/MRUMenuItem.cpp:41 0x08253b86
    29 Member<ui::MRUMenuItem, void, &() /libs/generic/functional.h:13 0x08251815
    28 BindFirstOpaque<Member<ui::MRUMenuItem, void, &() /libs/generic/callback.h:120 0x08251831
    27 Callback0<void>::operator() /libs/generic/callback.h:282 0xb71924b2
    26 Command::execute() /plugins/eventmanager/Command.cpp:14 0xb719ce8d
    25 Command::onMenuItemClicked() /plugins/eventmanager/Command.cpp:65 0xb719ce5a
    24 g_cclosure_marshal_VOID__VOID() 0xb7808423
    23 g_closure_invoke() 0xb77fc79f
    22 g_signal_stop_emission() 0xb780b2ea
    21 g_signal_emit_valist() 0xb780cb19
    20 g_signal_emit() 0xb780ce89
    19 gtk_widget_activate() 0xb7cc7bed
    18 gtk_menu_shell_activate_item() 0xb7bf454f
    17 gtk_menu_shell_activate_item() 0xb7bf4821
    16 gtk_menu_reorder_child() 0xb7beafd4
    15 _gtk_marshal_BOOLEAN__BOXED() 0xb7be58e0
    14 g_cclosure_new_swap() 0xb77fc16f
    13 g_closure_invoke() 0xb77fc79f
    12 g_signal_stop_emission() 0xb780b9ce
    11 g_signal_emit_valist() 0xb780c886
    10 g_signal_emit() 0xb780ce89
    9 gtk_widget_activate() 0xb7cc7dcf
    8 gtk_propagate_event() 0xb7be405d
    7 gtk_main_do_event() 0xb7be446b
    6 _gdk_events_queue() 0xb7a87dec
    5 g_main_context_dispatch() 0xb7ee08d6
    4 g_main_context_check() 0xb7ee3996
    3 g_main_loop_run() 0xb7ee3cb8
    2 gtk_main() 0xb7be3765
    1 main() /radiant/main.cpp:341 0x08089a0a
orbweaver

orbweaver

28.04.2007 14:53

developer   ~0000595

An extra invalid pointer check in EntityInspector::treeSelectionChanged() seems to have fixed it. This could be related to the "half-selected" state that the currently-selected key enters when you display a child dialog, such as the LightTextureChooser.

Issue History

Date Modified Username Field Change
28.04.2007 14:24 orbweaver New Issue
28.04.2007 14:45 orbweaver Status new => assigned
28.04.2007 14:45 orbweaver Assigned To => orbweaver
28.04.2007 14:45 orbweaver Note Added: 0000594
28.04.2007 14:53 orbweaver Status assigned => resolved
28.04.2007 14:53 orbweaver Fixed in Version => latest SVN
28.04.2007 14:53 orbweaver Resolution open => fixed
28.04.2007 14:53 orbweaver Note Added: 0000595
11.04.2008 21:05 greebo Status resolved => closed