greebo 29 Report post Posted November 3, 2014 If I click on the 'Layers window', the main application window becomes de-selected. If I want to do 'anything' in the main DR window, or the transform & surface-inspe. windows I have to click on the main DR window.I don't understand the situation yet - when you want to do something with the DR main window, don't you have to click on it anyway? Are we talking about keyboard shortcuts (these should be propagated to the main window even if the Layer dialog is in focus). Yes, but whats happening under 201 is that I can't reduce the size of the layers window to the same size (horizontialy) as I could under 181. But I've just realised that is because you have moved the 'new layer' button so its inline with the other buttons, so if you cant make it so the layers window is any more shrinkable I understand.I've moved the new button to a separate row again. I thought that having the buttons in one row would be beneficial such that users have more space for the actual layer buttons, but if horizontal space is more important then that's ok with me as well. And with rgeard to the layers window I have just noticed that there is a bigger gap between the last layer and the 'new', 'show all' & 'hide all' buttons.I adjusted some of the spacings, it should be a bit tighter now. A new build (pre5) is going to be uploaded in a few minutes. Quote Share this post Link to post Share on other sites
Bikerdude 3736 Report post Posted November 3, 2014 I don't understand the situation yet - when you want to do something with the DR main window, don't you have to click on it anyway? Are we talking about keyboard shortcuts (these should be propagated to the main window even if the Layer dialog is in focus).I've moved the new button to a separate row again. I thought that having the buttons in one row would be beneficial such that users have more space for the actual layer buttons, but if horizontal space is more important then that's ok with me as well.I will make a video.having all 3 buttons on the same row is beneficial, so I was happy with that when I realised thats thats what you had done - if you want maybe make all 3 button smaller? but no porblem if you cant.Downloading pre5 Quote Share this post Link to post Share on other sites
Bikerdude 3736 Report post Posted November 3, 2014 I will make a video.http://youtu.be/Q4dVpLLIM_4 Quote Share this post Link to post Share on other sites
greebo 29 Report post Posted November 3, 2014 Wow, that's what I'd call a bug explanation. Thanks a lot for going through recording and explaining the behaviour - I can see what the issue is, I'm going to try to repro it on my system. Quote Share this post Link to post Share on other sites
OrbWeaver 448 Report post Posted November 3, 2014 I made a few minor fixes to the build on Linux, but now there is this new crash on startup: #0 0x00007ffff577df51 in wxListBase::Append(void*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #1 0x00007ffff6398f15 in wxDataViewModel::AddNotifier(wxDataViewModelNotifier*) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0 #2 0x00007ffff641fff5 in ?? () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0 #3 0x00007ffff6426048 in wxDataViewCtrl::AssociateModel(wxDataViewModel*) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0 #4 0x00007ffff4fcdc98 in wxutil::TreeView::AssociateModel (this=0x869ab60, model=0x7fffd4000fa0) at TreeView.cpp:65 #5 0x0000000000580208 in ui::MediaBrowser::onTreeStorePopulationFinished (this=0x8696100, ev=...) at ui/mediabrowser/MediaBrowser.cpp:573 #6 0x00007ffff56e311e in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #7 0x00007ffff5856282 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #8 0x00007ffff58565e6 in wxEvtHandler::SearchDynamicEventTable(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #9 0x00007ffff585666e in wxEvtHandler::TryHereOnly(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #10 0x00007ffff5856703 in wxEvtHandler::ProcessEventLocally(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #11 0x00007ffff5856765 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #12 0x00007ffff5857783 in wxEvtHandler::ProcessPendingEvents() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #13 0x00007ffff56e6cd7 in wxAppConsoleBase::ProcessPendingEvents() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #14 0x00007ffff5d6f2ea in wxGUIEventLoop::YieldFor(long) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 #15 0x0000000000655b98 in ui::EmbeddedLayout::restoreStateFromPath (this=0x8857f70, path=...) at ui/mainframe/EmbeddedLayout.cpp:167 #16 0x00000000006554ba in ui::EmbeddedLayout::activate (this=0x8857f70) at ui/mainframe/EmbeddedLayout.cpp:94 #17 0x00000000006498b6 in ui::MainFrame::applyLayout (this=0xc73c40, name=...) at ui/mainframe/MainFrame.cpp:492 #18 0x000000000064849b in ui::MainFrame::construct (this=0xc73c40) at ui/mainframe/MainFrame.cpp:212 #19 0x000000000047f0b3 in radiant::RadiantModule::postModuleInitialisation (this=0xc5c0e0) at RadiantModule.cpp:245 #20 0x000000000047d5e5 in RadiantApp::onStartupEvent (this=0xc98280, ev=...) at main.cpp:166 #21 0x00007ffff56e311e in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #22 0x00007ffff5856282 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #23 0x00007ffff58565e6 in wxEvtHandler::SearchDynamicEventTable(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #24 0x00007ffff585666e in wxEvtHandler::TryHereOnly(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #25 0x00007ffff5856703 in wxEvtHandler::ProcessEventLocally(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #26 0x00007ffff5856765 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #27 0x00007ffff5857783 in wxEvtHandler::ProcessPendingEvents() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #28 0x00007ffff56e6cd7 in wxAppConsoleBase::ProcessPendingEvents() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #29 0x00007ffff5d5c902 in wxApp::DoIdle() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 #30 0x00007ffff5d5ca13 in ?? () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 #31 0x00007ffff15cece5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #32 0x00007ffff15cf048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #33 0x00007ffff15cf30a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #34 0x00007ffff2b36447 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #35 0x00007ffff5d6f145 in wxGUIEventLoop::DoRun() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 #36 0x00007ffff5725440 in wxEventLoopBase::Run() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #37 0x00007ffff56e51fd in wxAppConsoleBase::MainLoop() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #38 0x00007ffff577104d in wxEntry(int&, wchar_t**) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 #39 0x000000000047adc5 in main (argc=1, argv=0x7fffffffde78) at main.cpp:176 Currently I'm investigating whether changing all of the wxUtil::TreeModel* raw pointers to wxObjectDataPtr<wxUtil::TreeModel> smart pointers fixes the issue (when in doubt, systematically switching to smart pointers does occasionally fix subtle memory issues). Quote DarkRadiant homepage ⋄ DarkRadiant user guide ⋄ OrbWeaver's Dark Ambients ⋄ Blender export scripts Share this post Link to post Share on other sites
greebo 29 Report post Posted November 4, 2014 Is the crash something new in the last few builds? Anyway, you could add some debug output in wxutil::TreeView::AssociateModel, to see whether calling wxDataViewCtrl::AssociateModel(NULL) is causing the problems. I had to add that call to clear treeview selections on model change, and it works fine in the windows implementation, but maybe the wxGTK port has problems with this? One could also check if the TreeStore returned in MediaBrowser::onTreeStorePopulationFinished() is non-NULL (I believe this is always the case). Quote Share this post Link to post Share on other sites
OrbWeaver 448 Report post Posted November 4, 2014 Is the crash something new in the last few builds? It didn't happen until I merged the codereader/master branch, but I haven't yet isolated the problem to a specific commit. Anyway, you could add some debug output in wxutil::TreeView::AssociateModel, to see whether calling wxDataViewCtrl::AssociateModel(NULL) is causing the problems. I had to add that call to clear treeview selections on model change, and it works fine in the windows implementation, but maybe the wxGTK port has problems with this? One could also check if the TreeStore returned in MediaBrowser::onTreeStorePopulationFinished() is non-NULL (I believe this is always the case). Thanks, I will try these suggestions. Quote DarkRadiant homepage ⋄ DarkRadiant user guide ⋄ OrbWeaver's Dark Ambients ⋄ Blender export scripts Share this post Link to post Share on other sites
Bikerdude 3736 Report post Posted November 5, 2014 Using pre5 atm Bugs -If you select a entity in 181 you were then able to scroll up and down in the entity inspector window, under 201 you have to click on the entity and then in the inspector window before scrolling works.While in the 'Choose Sound' inspector, if you have a sound selected, then play it under 181 you could still scroll up and down through the sounds, under 201 you cannot.When choosing a sound shader for an entity, under 181 you would be taken to its location in the SoundShader tree, under 201 that vew is reset every time.After closing the SoundShader window, hitting the save shortcut key dosent work untill I click into the main DR window.The divider between the left & right windows in the skins selector isnt moveable under 201 like it is under 181, this is a problem as its obstructing the vew of the skin descriptions.if you have a model/brush or brush face selected and then go to press the escape to de-select, that no longer works. You have to click in the main DR windows before exscape to de-select works again.While browsing for prefabs, if you clicked on any non-prefile file you get an error popup, see attached. Also I dont remember the .darkradiant file being visible under 181.The prefabs selector is missing the paths window and the ability to add remembered paths under 201, see attached.Feedback -Loading and saving maps is a bit slower than 181, this is minor so understand if this dosent get and bugfix time. Quote Share this post Link to post Share on other sites
OrbWeaver 448 Report post Posted November 6, 2014 Anyway, you could add some debug output in wxutil::TreeView::AssociateModel, to see whether calling wxDataViewCtrl::AssociateModel(NULL) is causing the problems. I had to add that call to clear treeview selections on model change, and it works fine in the windows implementation, but maybe the wxGTK port has problems with this? Well switching to wxObjectDataPtr didn't magically fix the crash, although it was probably still worth doing since it's cleaner and avoids lots of manual calls to IncRef() and DecRef(). However, the debugger does confirm your hypothesis that AssociateModel(NULL) is the cause of the problem. I guess the wx developers never considered this possibility, which seems careless since they should have used a reference if the argument is required to never be NULL. If the problem is with clearing selections, do you think that calling UnselectAll() prior to changing the model in the AssociateModel() implementation would work instead of using a NULL model? Quote DarkRadiant homepage ⋄ DarkRadiant user guide ⋄ OrbWeaver's Dark Ambients ⋄ Blender export scripts Share this post Link to post Share on other sites
greebo 29 Report post Posted November 6, 2014 If the problem is with clearing selections, do you think that calling UnselectAll() prior to changing the model in the AssociateModel() implementation would work instead of using a NULL model?That's probably the way to go, and a simple one as well. I'll give it a try to see if it works, but it should. I couldn't solve the problem of internal notifier instances stacking up anyway. It's happening in the ModelSelector, which is never destroying its models, it's just switching them back and forth, which leads to notifiers being added to the models infinitely. I was going to try refactoring the ModelSelector to using a single TreeModel plus a TreeModelFilter but I haven't got around to it. Quote Share this post Link to post Share on other sites
greebo 29 Report post Posted November 6, 2014 Looking good, it's committed to my master branch. Does it work better in Linux now? Quote Share this post Link to post Share on other sites
PrinzEnrique 4 Report post Posted November 6, 2014 Looking good, it's committed to my master branch. Does it work better in Linux now?First time I could get the sources from your repo built on my Gentoo. So I guess that counts as better Quote Share this post Link to post Share on other sites
7318 10 Report post Posted November 6, 2014 (edited) I've posted this in Github but let me post it here too: Ubuntu 14.10 I can't compile it at "make" stage I get the following after ./configure biel@Biel-laptop:/usr/local/share/d3bfg/src/DarkRadiant$ ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes /usr/local/share/d3bfg/src/DarkRadiant/missing: Unknown `--is-lightweight' option Try `/usr/local/share/d3bfg/src/DarkRadiant/missing --help' for more information configure: WARNING: 'missing' script is too old or missing checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make supports nested variables... (cached) yes checking whether NLS is requested... yes checking for msgfmt... /usr/bin/msgfmt checking for gmsgfmt... /usr/bin/msgfmt checking for xgettext... /usr/bin/xgettext checking for msgmerge... /usr/bin/msgmerge checking for style of include used by make... GNU checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... gcc3 checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for ld used by GCC... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for shared library run path origin... done checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for CFPreferencesCopyAppValue... no checking for CFLocaleCopyCurrent... no checking for GNU gettext in libc... yes checking whether to use NLS... yes checking where the gettext function comes from... libc checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking how to print strings... printf checking for a sed that does not truncate output... /bin/sed checking for fgrep... /bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm - interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for mt... mt checking if mt is a manifest tool... no checking for ANSI C header files... no checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking how to run the C++ preprocessor... g++ -E checking for ld used by g++... /usr/bin/ld -m elf_x86_64 checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC -DPIC checking if g++ PIC flag -fPIC -DPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking if g++ supports -c -o file.o... (cached) yes checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking dynamic linker characteristics... (cached) GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes checking for inflateEnd in -lz... yes checking jpeglib.h usability... yes checking jpeglib.h presence... yes checking for jpeglib.h... yes checking for jpeg_start_compress in -ljpeg... yes checking for wx-config... /usr/bin/wx-config checking for wxWidgets version >= 3.0.0... yes (version 3.0.1) checking for wxWidgets static library... no checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for XML... yes checking for LIBSIGC... yes checking for PNG... yes checking for FTGL... yes checking GL/glew.h usability... yes checking GL/glew.h presence... yes checking for GL/glew.h... yes checking for main in -lGLEW... yes checking for main in -lGL... yes checking for gluBuild2DMipmaps in -lGLU... yes checking for Boost headers version >= 1.46.1... yes checking for Boost's header version... 1_55 checking boost/bind.hpp usability... yes checking boost/bind.hpp presence... yes checking for boost/bind.hpp... yes checking boost/foreach.hpp usability... yes checking boost/foreach.hpp presence... yes checking for boost/foreach.hpp... yes checking boost/format.hpp usability... yes checking boost/format.hpp presence... yes checking for boost/format.hpp... yes checking boost/function.hpp usability... yes checking boost/function.hpp presence... yes checking for boost/function.hpp... yes checking boost/scoped_ptr.hpp usability... yes checking boost/scoped_ptr.hpp presence... yes checking for boost/scoped_ptr.hpp... yes checking boost/shared_ptr.hpp usability... yes checking boost/shared_ptr.hpp presence... yes checking for boost/shared_ptr.hpp... yes checking boost/tokenizer.hpp usability... yes checking boost/tokenizer.hpp presence... yes checking for boost/tokenizer.hpp... yes checking for the toolset name used by Boost for g++... configure: WARNING: could not figure out which toolset name to use for g++ checking boost/regex.hpp usability... yes checking boost/regex.hpp presence... yes checking for boost/regex.hpp... yes checking for the Boost regex library... yes checking boost/system/error_code.hpp usability... yes checking boost/system/error_code.hpp presence... yes checking for boost/system/error_code.hpp... yes checking for the Boost system library... yes checking boost/filesystem/path.hpp usability... yes checking boost/filesystem/path.hpp presence... yes checking for boost/filesystem/path.hpp... yes checking for the Boost filesystem library... yes checking for boost/system/error_code.hpp... (cached) yes checking for the Boost system library... (cached) yes checking boost/test/unit_test.hpp usability... yes checking boost/test/unit_test.hpp presence... yes checking for boost/test/unit_test.hpp... yes checking for the Boost unit_test_framework library... yes checking for python2-config... python2-config checking boost/python.hpp usability... yes checking boost/python.hpp presence... yes checking for boost/python.hpp... yes checking for the Boost python library... yes checking for main in -ldl... yes checking boost/serialization/access.hpp usability... yes checking boost/serialization/access.hpp presence... yes checking for boost/serialization/access.hpp... yes checking AL/alut.h usability... yes checking AL/alut.h presence... yes checking for AL/alut.h... yes checking for ov_clear in -lvorbisfile... yes checking for alGetError in -lopenal... yes checking for main in -lalut... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating install/darkradiant.desktop config.status: creating install/i18n//Makefile.in config.status: creating Makefile config.status: creating radiant/Makefile config.status: creating install/i18n/Makefile.in config.status: creating libs/Makefile config.status: creating libs/ddslib/Makefile config.status: creating libs/wxutil/Makefile config.status: creating libs/math/Makefile config.status: creating libs/picomodel/Makefile config.status: creating libs/scene/Makefile config.status: creating libs/xmlutil/Makefile config.status: creating plugins/Makefile config.status: creating plugins/archivezip/Makefile config.status: creating plugins/commandsystem/Makefile config.status: creating plugins/eclassmgr/Makefile config.status: creating plugins/eclasstree/Makefile config.status: creating plugins/entity/Makefile config.status: creating plugins/entitylist/Makefile config.status: creating plugins/eventmanager/Makefile config.status: creating plugins/filetypes/Makefile config.status: creating plugins/filters/Makefile config.status: creating plugins/fonts/Makefile config.status: creating plugins/grid/Makefile config.status: creating plugins/image/Makefile config.status: creating plugins/mapdoom3/Makefile config.status: creating plugins/md5model/Makefile config.status: creating plugins/model/Makefile config.status: creating plugins/particles/Makefile config.status: creating plugins/scenegraph/Makefile config.status: creating plugins/script/Makefile config.status: creating plugins/shaders/Makefile config.status: creating plugins/skins/Makefile config.status: creating plugins/sound/Makefile config.status: creating plugins/uimanager/Makefile config.status: creating plugins/undo/Makefile config.status: creating plugins/vfspk3/Makefile config.status: creating plugins/wavefront/Makefile config.status: creating plugins/xmlregistry/Makefile config.status: creating plugins/dm.stimresponse/Makefile config.status: creating plugins/dm.objectives/Makefile config.status: creating plugins/dm.difficulty/Makefile config.status: creating plugins/dm.gui/Makefile config.status: creating plugins/dm.editing/Makefile config.status: creating plugins/dm.conversation/Makefile config.status: creating config.h config.status: config.h is unchanged config.status: executing po-directories commands config.status: creating install/i18n//POTFILES config.status: creating install/i18n//Makefile config.status: creating install/i18n/POTFILES config.status: creating install/i18n/Makefile config.status: executing depfiles commands config.status: executing libtool commands Configuration options: Installation prefix: /usr/local Sound: yes Darkmod plugins: no Python scripting: yes then at "make": iel@Biel-laptop:/usr/local/share/d3bfg/src/DarkRadiant$ make cd . && automake-1.14 --foreign configure.ac:8: warning: The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is discouraged. configure.ac:8: You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro instead, configure.ac:8: and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files. configure.ac:8: error: required file './compile' not found configure.ac:8: 'automake --add-missing' can install 'compile' parallel-tests: error: required file './test-driver' not found parallel-tests: 'automake --add-missing' can install 'test-driver' Makefile:488: recipe for target 'Makefile.in' failed make: *** [Makefile.in] Error 1 any idea what might be failing? Edited November 6, 2014 by 7318 Quote Biel Bestué de Luna - Github Share this post Link to post Share on other sites
OrbWeaver 448 Report post Posted November 7, 2014 Interesting. "compile", "test-driver" and "libtool" all show as untracked files in my working tree, so maybe I need to add these into Git too. Quote DarkRadiant homepage ⋄ DarkRadiant user guide ⋄ OrbWeaver's Dark Ambients ⋄ Blender export scripts Share this post Link to post Share on other sites
7318 10 Report post Posted November 7, 2014 but I can't find those files in synaptic, and in the case of libtool I already have it installed. Quote Biel Bestué de Luna - Github Share this post Link to post Share on other sites
OrbWeaver 448 Report post Posted November 7, 2014 but I can't find those files in synaptic, and in the case of libtool I already have it installed. They are not system files owned by a package, they are generated by the Automake script. If you have the automake package installed, you should be able to run ./autogen.sh in the DarkRadiant directory to create them. Quote DarkRadiant homepage ⋄ DarkRadiant user guide ⋄ OrbWeaver's Dark Ambients ⋄ Blender export scripts Share this post Link to post Share on other sites
OrbWeaver 448 Report post Posted November 7, 2014 Looking good, it's committed to my master branch. Does it work better in Linux now? Looks good as regards the crash on startup, but I get a crash when trying to show the Models selector: #0 0x00007ffff641e0f7 in wxDataViewCtrl::OnInternalIdle() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0 #1 0x00007ffff5ee5eb9 in wxWindowBase::SendIdleEvents(wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 #2 0x00007ffff5ee5f08 in wxWindowBase::SendIdleEvents(wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 #3 0x00007ffff5ee5f08 in wxWindowBase::SendIdleEvents(wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 #4 0x00007ffff5ee5f08 in wxWindowBase::SendIdleEvents(wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 #5 0x00007ffff5ee5f08 in wxWindowBase::SendIdleEvents(wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 #6 0x00007ffff5ee5f08 in wxWindowBase::SendIdleEvents(wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 #7 0x00007ffff5dd15af in wxFrame::SendIdleEvents(wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 #8 0x00007ffff5e06dbd in wxAppBase::ProcessIdle() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 #9 0x00007ffff5d6f2f9 in wxGUIEventLoop::YieldFor(long) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 #10 0x00007ffff5f25481 in wxGenericProgressDialog::DoBeforeUpdate(bool*) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 #11 0x00007ffff5f27094 in wxGenericProgressDialog::Pulse(wxString const&, bool*) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 #12 0x00007ffff4fd1f7f in wxutil::ModalProgressDialog::setText (this=0x7fffffffbc78, text=...) at ModalProgressDialog.cpp:20 #13 0x0000000000612606 in ui::ModelFileFunctor::ModelFileFunctor (this=0x7fffffffbc60, pop=..., pop2=...) at ui/modelselector/ModelFileFunctor.h:54 #14 0x0000000000610b35 in ui::ModelSelector::populateModels (this=0xeeb670) at ui/modelselector/ModelSelector.cpp:271 #15 0x0000000000610310 in ui::ModelSelector::showAndBlock (this=0xeeb670, curModel=..., showOptions=true, showSkins=true) at ui/modelselector/ModelSelector.cpp:179 #16 0x00000000006107b5 in ui::ModelSelector::chooseModel (curModel=..., showOptions=true, showSkins=true) at ui/modelselector/ModelSelector.cpp:232 #17 0x00000000005a7554 in ui::OrthoContextMenu::callbackAddModel (this=0xc6b1d0) at ui/ortho/OrthoContextMenu.cpp:401 #18 0x00000000005b25f7 in boost::_mfi::mf0<void, ui::OrthoContextMenu>::operator() (this=0x812f0d8, p=0xc6b1d0) at /usr/include/boost/bind/mem_fn_template.hpp:49 #19 0x00000000005b1f3a in boost::_bi::list1<boost::_bi::value<ui::OrthoContextMenu*> >::operator()<boost::_mfi::mf0<void, ui::OrthoContextMenu>, boost::_bi::list0> (this=0x812f0e8, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253 #20 0x00000000005b16ad in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ui::OrthoContextMenu>, boost::_bi::list1<boost::_bi::value<ui::OrthoContextMenu*> > >::operator() (this=0x812f0d8) at /usr/include/boost/bind/bind_template.hpp:20 #21 0x00000000005b0d4d in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ui::OrthoContextMenu>, boost::_bi::list1<boost::_bi::value<ui::OrthoContextMenu*> > >, void>::invoke ( function_obj_ptr=...) at /usr/include/boost/function/function_template.hpp:153 #22 0x0000000000486366 in boost::function0<void>::operator() (this=0x812f0d0) at /usr/include/boost/function/function_template.hpp:767 #23 0x00000000005acd36 in wxutil::MenuItem::execute (this=0x812f0c0) at ../libs/wxutil/menu/MenuItem.h:38 #24 0x00000000005aafba in ui::OrthoContextMenu::onItemClick (this=0xc6b1d0, ev=...) at ui/ortho/OrthoContextMenu.cpp:572 This occurs with or without my changes to the TreeModel pointers, and may in fact be an old problem since I think this is the first time I've actually tried the Insert Model command since the wxWidgets changes. However I have no idea what the problem can be. There doesn't seem to be any multi-threading related code in progress, and the crash happens deep inside wxWidgets in response to wxProgressDialog::Pulse(). I note that there is a warning about the yielding for events behaviour of wxGenericProgressDialog in the docs though, and a suggestion not to use it in multi-threaded code. I wonder if the progress dialog has been left in a bad state due to a previous multi-threaded invocation, even if the models population is single-threaded. UPDATE: I could fix the crash by moving the ModelSelector::setupTreeView call to after the model has been populated. I guess wxWidgets tree views don't like kicking around without a model attached. Quote DarkRadiant homepage ⋄ DarkRadiant user guide ⋄ OrbWeaver's Dark Ambients ⋄ Blender export scripts Share this post Link to post Share on other sites
7318 10 Report post Posted November 7, 2014 (edited) compiled and worked fine for the first time but since then wheneverI try to launch it I get this: biel@Biel-laptop:~$ darkradiant /home/biel/.darkradiant/user.xml:1: parser error : Document is empty ^ /home/biel/.darkradiant/user.xml:1: parser error : Start tag expected, '<' not found ^ *** Caught unhandled unknown exception; terminating but THERE IS a '<' at line 1 in user.xml, in fact DR creates a user.xml file if it's missing, here it is: <?xml version="1.0"?> <user> <ui/> <version value="1.8.0"/> </user> and I also got the log: Started logging to /home/biel/.darkradiant/darkradiant.log Today is: Fri Nov 7 13:31:50 2014 This is DarkRadiant 1.8.0 x64 wxWidgets Version: 3.0.1 ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/entity.so' Module registered: Doom3EntityCreator ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/uimanager.so' Module registered: UIManager ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/grid.so' Module registered: Grid ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/script.so' Module registered: ScriptingSystem ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/fonts.so' Module registered: FontManager ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/eclassmgr.so' Module registered: EntityClassManager ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/xmlregistry.so' Module registered: XMLRegistry ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/md5model.so' Module registered: ModelLoaderMD5MESH Module registered: MD5AnimationCache ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/model.so' Module registered: ModelLoaderMD3 Module registered: ModelLoader3DS Module registered: ModelLoaderASE Module registered: ModelLoaderMS3D Module registered: ModelLoaderMDC Module registered: ModelLoaderMD2 Module registered: ModelLoaderFM Module registered: ModelLoaderLWO Module registered: ModelLoaderPICOTERRAIN Module registered: ModelLoaderOBJ ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/commandsystem.so' Module registered: CommandSystem ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/image.so' Module registered: ImageLoaderTGA Module registered: ImageLoaderJPG Module registered: ImageLoaderPNG Module registered: ImageLoaderPCX Module registered: ImageLoaderWX Module registered: ImageLoaderDDS ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/particles.so' Module registered: ParticlesManager Module registered: ParticlesEditor ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/sound.so' Module registered: SoundManager ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/filetypes.so' Module registered: FileTypes ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/scenegraph.so' Module registered: SceneGraph Module registered: SceneGraphFactory ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/archivezip.so' Module registered: ArchivePK4 ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/mapdoom3.so' Module registered: Doom3MapLoader Module registered: Quake4MapLoader Module registered: Doom3PrefabLoader Module registered: MapCompiler Module registered: Quake3MapLoader ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/filters.so' Module registered: FilterSystem ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/entitylist.so' Module registered: EntityList ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/shaders.so' Module registered: MaterialManager ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/eventmgr.so' Module registered: EventManager ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/vfspk3.so' Module registered: VirtualFileSystem ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/skins.so' Module registered: ModelSkinCache ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/undo.so' Module registered: UndoSystem ModuleLoader: Loading module '/usr/local/lib/darkradiant/plugins/eclasstree.so' Module registered: EClassTree ModuleLoader: Loading module '/usr/local/lib/darkradiant/plugins/wavefront.so' Module registered: WaveFrontExporter XMLRegistry::initialiseModule called XMLRegistry: looking for XML files under /usr/local/share/darkradiant/ XMLRegistry: Importing XML file: /usr/local/share/darkradiant/user.xml XMLRegistry: Importing XML file: /usr/local/share/darkradiant/colours.xml XMLRegistry: Importing XML file: /usr/local/share/darkradiant/input.xml XMLRegistry: Importing XML file: /usr/local/share/darkradiant/menu.xml XMLRegistry: Importing XML file: /usr/local/share/darkradiant/commandsystem.xml XMLRegistry: Importing XML file: /home/biel/.darkradiant/user.xml XMLRegistry: Importing XML file: /home/biel/.darkradiant/input.xml EventManager successfully shut down. XMLRegistry Shutdown: 1 queries processed. XMLRegistry: Failed to save path /darkradiant/user/ui/filtersystem/filters XMLRegistry: Failed to save path /darkradiant/user/ui/colourschemes XMLRegistry: Failed to save path /darkradiant/user/ui/input XMLRegistry: Saved user to /home/biel/.darkradiant/user.xml Closing log file at Fri Nov 7 13:31:50 2014 I did chown all the darkradiant folder and files to my group in case it had something to do with it, but then I saw that there is no "/darkradiant/user/" folder, at least not at "/usr/local/share/darkradiant/" nor at "/usr/local/lib/darkradiant" Edited November 7, 2014 by 7318 Quote Biel Bestué de Luna - Github Share this post Link to post Share on other sites
greebo 29 Report post Posted November 7, 2014 If you select a entity in 181 you were then able to scroll up and down in the entity inspector window, under 201 you have to click on the entity and then in the inspector window before scrolling works.While in the 'Choose Sound' inspector, if you have a sound selected, then play it under 181 you could still scroll up and down through the sounds, under 201 you cannot.When choosing a sound shader for an entity, under 181 you would be taken to its location in the SoundShader tree, under 201 that vew is reset every time.The divider between the left & right windows in the skins selector isnt moveable under 201 like it is under 181, this is a problem as its obstructing the vew of the skin descriptions.While browsing for prefabs, if you clicked on any non-prefile file you get an error popup, see attached. Also I dont remember the .darkradiant file being visible under 181.I could resolve the above if you have a model/brush or brush face selected and then go to press the escape to de-select, that no longer works. You have to click in the main DR windows before exscape to de-select works again.This I don't understand. Loading and saving maps is a bit slower than 181, this is minor so understand if this dosent get and bugfix time.After closing the SoundShader window, hitting the save shortcut key dosent work untill I click into the main DR window.The prefabs selector is missing the paths window and the ability to add remembered paths under 201, see attached.I can't look at these at the moment. The shortcut handling is probably due for a rewrite but this is too much for the 2.0.1 release, so I'll postpone that to a later release. (I have a separate branch in the works anyway with rewritten mouse interaction code, and it needs serious testing too). The prefab selector is completely different to 1.8.1, obviously, so I had to cut a few things to get it into 2.0.0. Right now it's only loading from the active prefab directory - is there need to load prefabs from somewhere else? Anyway, a new pre-release build is in the works and will be uploaded in a couple of minutes (pre6). Refer to the first post for linkage. Quote Share this post Link to post Share on other sites
Bikerdude 3736 Report post Posted November 7, 2014 I could resolve the aboveThis I don't understand.I can't look at these at the moment. The shortcut handling is probably due for a rewrite but this is too much for the 2.0.1 release, so I'll postpone that to a later release. (I have a separate branch in the works anyway with rewritten mouse interaction code, and it needs serious testing too).Is there need to load prefabs from somewhere else?yes I got the bugfix emails, much appreciated.if you have something selected in camera view, bit it a model, patch, brush or the face of a brush - in 181 you hit the escape key to deselect. In 201 I had to select the main DR window before exscape wotk work as it did in 181.This is looking more and more likly the same issue I have had with a few other functions where "I have to click into the main DR window" to get them to work normally. Which you have already fixed for other functions in bullet point 1.Yes absolutly, I open and save prefabs from -the stock prefabs folder,my custom prefabs folder,the prefabs folder of the FM I'm working onand sometimes the root of the data drive for temp prefabs.Regarding the prefabs, did you manage to have a look at the prefab inspector issue where if you clicked on anyfile that wasent a prefab you got an "unrecognised file" error popup..? Quote Share this post Link to post Share on other sites
Bikerdude 3736 Report post Posted November 7, 2014 Found a few more bugs/issues -If you rotate an object with the arbitrart transform inspector, and then press "ctrl-z" it dosent workDue to the new layout if the light inspector, when you click the colour box the light value/percentage option is no longer avaiable. Is it possble to change the luminace field to a percentage/value feild?Option for the colour name is not present, again its handy to copy the colour name from one light to another.While in the entity inspector, while entering a value in a filed, you cant press escape to de-select the hightited entity, which you could under 181. This looks similar to the other "cant press escape" issue. See attached.The surface inspector, fit textures boxes. The old figures were 001 & 001, I assume mappers can still enter decimals, eg 0.5 etc? See attached.While holding a selected item in orthoview, you could move/scroll off the edge of the work area, in 201 you can't.The animation play button dosent change colour when clicked on, for animation on/off etc (it goes red in 181)201 181 Quote Share this post Link to post Share on other sites
VanishedOne 475 Report post Posted November 7, 2014 (edited) I'm looking at 2.0.0 rather than the pre-release, but I wanted to add to the 'can't press escape issue' that Ctrl+S also won't work for me while a text field in the entity inspector, etc. has focus--so it may be a general problem with keyboard commands rather than something specific to Esc. Edited November 7, 2014 by VanishedOne Quote Some things I'm repeatedly thinking about... - louder scream when you're dying Share this post Link to post Share on other sites
Bikerdude 3736 Report post Posted November 7, 2014 Wanted to add to the 'can't press escape issue' that Ctrl+S also won't work for me while a text field in the entity inspector, etc. has focus--so it may be a general problem with keyboard combinations rather than something specific to Esc.Im getting this issue in a few situations, currently I am copy and pasting textures to brush faces etc and its disrupts workflow not being able to deselect the highlighted item via the escape key without clicking in the main DR window first. Quote Share this post Link to post Share on other sites
7318 10 Report post Posted November 8, 2014 now it works! the console keeps spewing _xgeWireToEvent: Unknown extension 148, this should never happen. the 3D view displays the faces wrong, the hidden surfaces display on top of the surfaces that should be on top. and if I go unclipped all the way I see the furthest parts of the level on top of the more closest ones Quote Biel Bestué de Luna - Github Share this post Link to post Share on other sites
greebo 29 Report post Posted November 8, 2014 If you have something selected in camera view, bit it a model, patch, brush or the face of a brush - in 181 you hit the escape key to deselect. In 201 I had to select the main DR window before exscape wotk work as it did in 181.Can't reproduce that at all. I create a brush, hit Ctrl-Shift-LMB to select a face of that brush in the camera view, hit ESC - it's unselected. This is looking more and more likly the same issue I have had with a few other functions where "I have to click into the main DR window" to get them to work normally. Which you have already fixed for other functions in bullet point 1.I'm aware that the shortcut handling needs some work, it mostly occurs when buttons or text entry fields are in focus. I can only fix that on a global level, which requires more work, so this is something I'm going to leave out for this 2.0.1 release. Yes absolutly, I open and save prefabs from -the stock prefabs folder,my custom prefabs folder,the prefabs folder of the FM I'm working onand sometimes the root of the data drive for temp prefabs.Ok, I'll see what I can do. This requires a new design of the dialog's file handling, because it's no longer possible to attach a preview to the filechooser like it was in GTK+ (this is one of the very few features that GTK+ had over wxWidgets - the latter is using native controls and native Windows controls don't have a customised preview widget, at least not a good one (see Photoshop for instance, the preview is laughable, because it has the same problem)). Please add a tracker entry, something like "Need option to browse prefabs from non-FM paths" or along those lines. Regarding the prefabs, did you manage to have a look at the prefab inspector issue where if you clicked on anyfile that wasent a prefab you got an "unrecognised file" error popup..?Non-pfb files are now hidden, and folders don't issue that warning anymore. The popup will still occur if a prefab is corrupt or unrecognised. If you rotate an object with the arbitrart transform inspector, and then press "ctrl-z" it dosent workSame shortcut handling problem. Due to the new layout if the light inspector, when you click the colour box the light value/percentage option is no longer avaiable. Is it possble to change the luminace field to a percentage/value feild? Option for the colour name is not present, again its handy to copy the colour name from one light to another.This is the control that Windows provides. Maybe there is a custom colour picker control available somewhere for use in wxWidgets, otherwise we're stuck with this. While in the entity inspector, while entering a value in a filed, you cant press escape to de-select the hightited entity, which you could under 181. This looks similar to the other "cant press escape" issue. See attached.Same shortcut handling problem. The surface inspector, fit textures boxes. The old figures were 001 & 001, I assume mappers can still enter decimals, eg 0.5 etc? See attached.Yes, this still works, as you probably already found out yourself. What I did to the code is to display two post-comma digits in the two fit entry boxes, this probably makes it more obvious. While holding a selected item in orthoview, you could move/scroll off the edge of the work area, in 201 you can't.I can do that. I select a brush and drag it around. When the mouse reaches the border of the view it starts scrolling. The animation play button dosent change colour when clicked on, for animation on/off etc (it goes red in 181)Which button are you talking about specifically? The play button was green in 1.8.1 (at all times), and the one in 2.0.0 is gray. Quote Share this post Link to post Share on other sites