fix for crash generating messages.txt, I wasn't getting this crash because I had...
authorCampbell Barton <ideasman42@gmail.com>
Fri, 30 Sep 2011 07:47:45 +0000 (07:47 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Fri, 30 Sep 2011 07:47:45 +0000 (07:47 +0000)
made headless and no-python configurations work again and added --factory-startup to doc building command.

GNUmakefile
po/README.txt
source/blender/editors/interface/interface_draw.c
source/blender/python/intern/bpy_rna.h
source/blender/windowmanager/intern/wm_init_exit.c
source/blender/windowmanager/intern/wm_operators.c

index 9915406..aad3c58 100644 (file)
@@ -164,7 +164,7 @@ package_archive:
 # Other Targets
 #
 translations:
-       $(BUILD_DIR)/bin/blender --background --python po/update_msg.py
+       $(BUILD_DIR)/bin/blender --background --factory-startup --python po/update_msg.py
        python3 po/update_pot.py
        python3 po/update_po.py
        python3 po/update_mo.py
index 8756531..79b0bf7 100644 (file)
@@ -37,9 +37,10 @@ When translation was updated, remove line with '#, fuzzy' and it'll work.
 
 If there's no message in .po file you want to translate, probably .po file should be updated.
 Use the following steps for this:
-- With newly compiled blender run `blender --background --python update_msg.py` to update
-  messages.txt file (this file contains strings collected automatically from RNA system and
-  python UI scripts)
+- With newly compiled blender run:
+  `blender --background --factory-startup --python update_msg.py`
+  to update messages.txt file (this file contains strings collected
+  automatically from RNA system and python UI scripts)
 - Run update_pot.py script which will update blender.pot file. This file contains all
   strings which should be transated.
 - Run update_po.py script to merge all .po files with blender.pot (so all .po files
index b65be48..a40900f 100644 (file)
@@ -466,6 +466,7 @@ void ui_draw_but_IMAGE(ARegion *UNUSED(ar), uiBut *but, uiWidgetColors *UNUSED(w
 {
 #ifdef WITH_HEADLESS
        (void)rect;
+       (void)but;
 #else
        ImBuf *ibuf= (ImBuf *)but->poin;
        //GLint scissor[4];
index 30f6c02..502fa25 100644 (file)
@@ -44,9 +44,6 @@
 /* support for inter references, currently only needed for corner case */
 #define USE_PYRNA_STRUCT_REFERENCE
 
-/* use real collection iterators rather than faking with a list */
-#define USE_PYRNA_ITER
-
 #else /* WITH_PYTHON_SAFETY */
 
  /* default, no defines! */
  * so prefer the leak to the memory bloat for now. */
 // #define PYRNA_FREE_SUPPORT
 
+/* use real collection iterators rather than faking with a list
+ * this is needed so enums can be iterated over without crashing,
+ * since finishing the iteration frees temp allocated enums */
+#define USE_PYRNA_ITER
+
 /* --- end bpy build options --- */
 
 struct ID;
index 3d77378..766be79 100644 (file)
@@ -427,6 +427,8 @@ void WM_exit_ext(bContext *C, const short do_python)
                 * the pyDriver bug can be fixed if it happens again we can deal with it then */
                BPY_python_end();
        }
+#else
+       (void)do_python;
 #endif
 
        GPU_global_buffer_pool_free();
index 841198c..b980b45 100644 (file)
@@ -1208,9 +1208,6 @@ static int wm_resource_check_prev(void)
 
 static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(arg))
 {
-       extern char datatoc_splash_png[];
-       extern int datatoc_splash_png_size;
-
        uiBlock *block;
        uiBut *but;
        uiLayout *layout, *split, *col;
@@ -1219,9 +1216,17 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar
        int i;
        MenuType *mt= WM_menutype_find("USERPREF_MT_splash", TRUE);
        char url[96];
-       /* hardcoded to splash, loading and freeing every draw, eek! */
+
+#ifndef WITH_HEADLESS
+       extern char datatoc_splash_png[];
+       extern int datatoc_splash_png_size;
+
        ImBuf *ibuf= IMB_ibImageFromMemory((unsigned char*)datatoc_splash_png, datatoc_splash_png_size, IB_rect);
-       
+#else
+       ImBuf *ibuf= NULL;
+#endif
+
+
 #ifdef WITH_BUILDINFO
        int ver_width, rev_width;
        char *version_str = NULL;