svn merge -r 21041:21301 https://svn.blender.org/svnroot/bf-blender/branches/blender2...
[blender.git] / source / blender / blenkernel / intern / image.c
index 53b805f5f4c7eb027ab5b0952f3ae7162ba2310a..ef0984bf93dbb3242eff27ee5bfa6c7248e7657c 100644 (file)
@@ -77,9 +77,6 @@
 
 #include "RE_pipeline.h"
 
-/* for stamp drawing to an image */
-#include "BMF_Api.h"
-
 #include "GPU_extensions.h"
 #include "GPU_draw.h"
 
@@ -436,7 +433,7 @@ static ImBuf *add_ibuf_size(int width, int height, char *name, int floatbuf, sho
        unsigned char *rect= NULL;
        float *rect_float= NULL;
        int x, y;
-       int checkerwidth=21, dark=1;
+       int checkerwidth=32, dark=1;
        
        if (floatbuf) {
                ibuf= IMB_allocImBuf(width, height, 24, IB_rectfloat, 0);
@@ -671,6 +668,11 @@ static uintptr_t image_mem_size(Image *ima)
        uintptr_t size = 0;
 
        size= 0;
+       
+       /* viewers have memory depending on other rules, has no valid rect pointer */
+       if(ima->source==IMA_SRC_VIEWER)
+               return 0;
+       
        for(ibuf= ima->ibufs.first; ibuf; ibuf= ibuf->next) {
                if(ibuf->rect) size += MEM_allocN_len(ibuf->rect);
                else if(ibuf->rect_float) size += MEM_allocN_len(ibuf->rect_float);
@@ -1055,7 +1057,7 @@ static void stampdata(Scene *scene, StampData *stamp_data, int do_prefix)
        }
        
        if (scene->r.stamp & R_STAMP_SEQSTRIP) {
-               Sequence *seq= NULL; //XXX = get_forground_frame_seq(scene->r.cfra);
+               Sequence *seq= NULL; //XXX = get_foreground_frame_seq(scene->r.cfra);
        
                if (seq) strcpy(text, seq->name+2);
                else            strcpy(text, "<none>");
@@ -1069,6 +1071,9 @@ static void stampdata(Scene *scene, StampData *stamp_data, int do_prefix)
 
 void BKE_stamp_buf(Scene *scene, unsigned char *rect, float *rectf, int width, int height, int channels)
 {
+#if 0
+// XXX
+// This go back when BLF_draw_buffer is implemented - Diego
        struct StampData stamp_data;
        
        int x=1,y=1;
@@ -1188,7 +1193,7 @@ void BKE_stamp_buf(Scene *scene, unsigned char *rect, float *rectf, int width, i
                buf_rectfill_area(rect, rectf, width, height, scene->r.bg_stamp, x-1, y-1, x+text_width+text_pad+1, y+font_height+1);
                BMF_DrawStringBuf(font, stamp_data.strip, x+(text_pad/2), y, scene->r.fg_stamp, rect, rectf, width, height, channels);
        }
-       
+#endif // 0 XXX        
 }
 
 void BKE_stamp_info(Scene *scene, struct ImBuf *ibuf)
@@ -1426,7 +1431,7 @@ void BKE_image_signal(Image *ima, ImageUser *iuser, int signal)
                /* try to repack file */
                if(ima->packedfile) {
                        PackedFile *pf;
-                       pf = newPackedFile(ima->name);
+                       pf = newPackedFile(NULL, ima->name);
                        if (pf) {
                                freePackedFile(ima->packedfile);
                                ima->packedfile = pf;
@@ -1745,7 +1750,7 @@ static ImBuf *image_load_image_file(Image *ima, ImageUser *iuser, int cfra)
                        
                        /* make packed file for autopack */
                        if ((ima->packedfile == NULL) && (G.fileflags & G_AUTOPACK))
-                               ima->packedfile = newPackedFile(str);
+                               ima->packedfile = newPackedFile(NULL, str);
                }
                
                if(ima->flag & IMA_DO_PREMUL)
@@ -1807,7 +1812,7 @@ static ImBuf *image_get_render_result(Image *ima, ImageUser *iuser)
        Render *re= NULL;
        RenderResult *rr= NULL;
        
-       if(iuser->scene) {
+       if(iuser && iuser->scene) {
                re= RE_GetRender(iuser->scene->id.name);
                rr= RE_GetResult(re);
        }