Revision: 23230
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23230
Author:   blendix
Date:     2009-09-14 21:12:29 +0200 (Mon, 14 Sep 2009)

Log Message:
-----------
2.5 Bugfixes

#19345: can't get out of grayed out pointer field.
#19342: item_pointerR fields can't be cleared with one item.
#19341: fix hanging tooltips when manipulating regions.
#19339: context panel still allowed tabbing, but it has no header.
#19334: editing SSS settings crashed previewrender.
#19330: object mode could not be switched on from the header menu.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/material.c
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/editors/include/ED_screen.h
    trunk/blender/source/blender/editors/interface/interface_handlers.c
    trunk/blender/source/blender/editors/interface/interface_panel.c
    trunk/blender/source/blender/editors/interface/interface_regions.c
    trunk/blender/source/blender/editors/object/object_edit.c
    trunk/blender/source/blender/editors/screen/area.c
    trunk/blender/source/blender/editors/screen/screen_ops.c
    trunk/blender/source/blender/editors/space_file/file_ops.c
    trunk/blender/source/blender/editors/space_graph/graph_buttons.c
    trunk/blender/source/blender/editors/space_image/image_buttons.c
    trunk/blender/source/blender/editors/space_logic/logic_buttons.c
    trunk/blender/source/blender/editors/space_nla/nla_buttons.c
    trunk/blender/source/blender/editors/space_sequencer/sequencer_buttons.c
    trunk/blender/source/blender/editors/space_text/text_header.c
    trunk/blender/source/blender/editors/space_view3d/space_view3d.c
    trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c
    trunk/blender/source/blender/editors/space_view3d/view3d_snap.c
    trunk/blender/source/blender/editors/space_view3d/view3d_toolbar.c
    trunk/blender/source/blender/render/intern/source/pipeline.c
    trunk/blender/source/blender/render/intern/source/sss.c

Modified: trunk/blender/source/blender/blenkernel/intern/material.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/material.c   2009-09-14 
17:22:51 UTC (rev 23229)
+++ trunk/blender/source/blender/blenkernel/intern/material.c   2009-09-14 
19:12:29 UTC (rev 23230)
@@ -159,9 +159,9 @@
        ma->sss_radius[0]= 1.0f;
        ma->sss_radius[1]= 1.0f;
        ma->sss_radius[2]= 1.0f;
-       ma->sss_col[0]= 0.8f;
-       ma->sss_col[1]= 0.8f;
-       ma->sss_col[2]= 0.8f;
+       ma->sss_col[0]= 1.0f;
+       ma->sss_col[1]= 1.0f;
+       ma->sss_col[2]= 1.0f;
        ma->sss_error= 0.05f;
        ma->sss_scale= 0.1f;
        ma->sss_ior= 1.3f;

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c   2009-09-14 
17:22:51 UTC (rev 23229)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c   2009-09-14 
19:12:29 UTC (rev 23230)
@@ -4861,6 +4861,10 @@
                        QUATCOPY(rv3d->viewquat, v3d->viewquat);
                }
        }
+
+       /* this was not initialized correct always */
+       if(v3d->twtype == 0)
+               v3d->twtype= V3D_MANIP_TRANSLATE;
 }
 
 static void direct_link_screen(FileData *fd, bScreen *sc)
@@ -9687,6 +9691,11 @@
 
        /* put 2.50 compatibility code here until next subversion bump */
        {
+               Scene *sce;
+
+               for(sce = main->scene.first; sce; sce = sce->id.next)
+                       if(sce->unit.scale_length == 0.0f)
+                               sce->unit.scale_length= 1.0f;
        }
 
        /* WATCH IT!!!: pointers from libdata have not been converted yet here! 
*/

Modified: trunk/blender/source/blender/editors/include/ED_screen.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_screen.h    2009-09-14 
17:22:51 UTC (rev 23229)
+++ trunk/blender/source/blender/editors/include/ED_screen.h    2009-09-14 
19:12:29 UTC (rev 23230)
@@ -58,6 +58,7 @@
 void   ED_region_panels(const struct bContext *C, struct ARegion *ar, int 
vertical, char *context, int contextnr);
 void   ED_region_header_init(struct ARegion *ar);
 void   ED_region_header(const struct bContext *C, struct ARegion *ar);
+void   ED_region_toggle_hidden(struct bContext *C, struct ARegion *ar);
 void   region_scissor_winrct(struct ARegion *ar, struct rcti *winrct);
 
 /* spaces */

Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c 
2009-09-14 17:22:51 UTC (rev 23229)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c 
2009-09-14 19:12:29 UTC (rev 23230)
@@ -1440,16 +1440,20 @@
 
        for(but= actbut->next; but; but= but->next) {
                if(ELEM7(but->type, TEX, NUM, NUMABS, NUMSLI, HSVSLI, IDPOIN, 
SEARCH_MENU)) {
-                       data->postbut= but;
-                       data->posttype= BUTTON_ACTIVATE_TEXT_EDITING;
-                       return;
+                       if(!(but->flag & UI_BUT_DISABLED)) {
+                               data->postbut= but;
+                               data->posttype= BUTTON_ACTIVATE_TEXT_EDITING;
+                               return;
+                       }
                }
        }
        for(but= block->buttons.first; but!=actbut; but= but->next) {
                if(ELEM7(but->type, TEX, NUM, NUMABS, NUMSLI, HSVSLI, IDPOIN, 
SEARCH_MENU)) {
-                       data->postbut= but;
-                       data->posttype= BUTTON_ACTIVATE_TEXT_EDITING;
-                       return;
+                       if(!(but->flag & UI_BUT_DISABLED)) {
+                               data->postbut= but;
+                               data->posttype= BUTTON_ACTIVATE_TEXT_EDITING;
+                               return;
+                       }
                }
        }
 }
@@ -1464,16 +1468,20 @@
 
        for(but= actbut->prev; but; but= but->prev) {
                if(ELEM7(but->type, TEX, NUM, NUMABS, NUMSLI, HSVSLI, IDPOIN, 
SEARCH_MENU)) {
-                       data->postbut= but;
-                       data->posttype= BUTTON_ACTIVATE_TEXT_EDITING;
-                       return;
+                       if(!(but->flag & UI_BUT_DISABLED)) {
+                               data->postbut= but;
+                               data->posttype= BUTTON_ACTIVATE_TEXT_EDITING;
+                               return;
+                       }
                }
        }
        for(but= block->buttons.last; but!=actbut; but= but->prev) {
                if(ELEM7(but->type, TEX, NUM, NUMABS, NUMSLI, HSVSLI, IDPOIN, 
SEARCH_MENU)) {
-                       data->postbut= but;
-                       data->posttype= BUTTON_ACTIVATE_TEXT_EDITING;
-                       return;
+                       if(!(but->flag & UI_BUT_DISABLED)) {
+                               data->postbut= but;
+                               data->posttype= BUTTON_ACTIVATE_TEXT_EDITING;
+                               return;
+                       }
                }
        }
 }

Modified: trunk/blender/source/blender/editors/interface/interface_panel.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_panel.c    
2009-09-14 17:22:51 UTC (rev 23229)
+++ trunk/blender/source/blender/editors/interface/interface_panel.c    
2009-09-14 19:12:29 UTC (rev 23230)
@@ -990,6 +990,7 @@
        }
        
        if(pasel==NULL || palap==NULL) return;
+       if(palap->type && palap->type->flag & PNL_NO_HEADER) return;
        
        /* the overlapped panel becomes a tab */
        palap->paneltab= pasel;

Modified: trunk/blender/source/blender/editors/interface/interface_regions.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_regions.c  
2009-09-14 17:22:51 UTC (rev 23229)
+++ trunk/blender/source/blender/editors/interface/interface_regions.c  
2009-09-14 19:12:29 UTC (rev 23230)
@@ -758,7 +758,7 @@
                                data->active= a+1;
                        if(cpoin) cpoin[0]= '|';
                }
-               if(data->items.totitem==1)
+               if(data->items.totitem==1 && but->editstr[0])
                        data->active= 1;
        }
 

Modified: trunk/blender/source/blender/editors/object/object_edit.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_edit.c   2009-09-14 
17:22:51 UTC (rev 23229)
+++ trunk/blender/source/blender/editors/object/object_edit.c   2009-09-14 
19:12:29 UTC (rev 23230)
@@ -1957,29 +1957,26 @@
        ObjectMode mode = RNA_enum_get(op->ptr, "mode");
 
        if(ob) {
+               if(mode == OB_MODE_OBJECT)
+                       return 1;
+
                switch(ob->type) {
-               case OB_EMPTY:
-               case OB_LAMP:
-               case OB_CAMERA:
-                       if(mode & OB_MODE_OBJECT)
-                               return 1;
-                       return 0;
                case OB_MESH:
-                       if(mode & (     
OB_MODE_OBJECT|OB_MODE_EDIT|OB_MODE_SCULPT|OB_MODE_VERTEX_PAINT|OB_MODE_WEIGHT_PAINT|OB_MODE_TEXTURE_PAINT|OB_MODE_PARTICLE_EDIT))
+                       if(mode & 
(OB_MODE_EDIT|OB_MODE_SCULPT|OB_MODE_VERTEX_PAINT|OB_MODE_WEIGHT_PAINT|OB_MODE_TEXTURE_PAINT|OB_MODE_PARTICLE_EDIT))
                                return 1;
                        return 0;
                case OB_CURVE:
                case OB_SURF:
                case OB_FONT:
                case OB_MBALL:
-                       if(mode & (OB_MODE_OBJECT|OB_MODE_EDIT))
+                       if(mode & (OB_MODE_EDIT))
                                return 1;
                        return 0;
                case OB_LATTICE:
-                       if(mode & 
(OB_MODE_OBJECT|OB_MODE_EDIT|OB_MODE_WEIGHT_PAINT))
+                       if(mode & (OB_MODE_EDIT|OB_MODE_WEIGHT_PAINT))
                                return 1;
                case OB_ARMATURE:
-                       if(mode & (OB_MODE_OBJECT|OB_MODE_EDIT|OB_MODE_POSE))
+                       if(mode & (OB_MODE_EDIT|OB_MODE_POSE))
                                return 1;
                }
        }
@@ -2036,7 +2033,7 @@
        /* flags */
        ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
        
-       prop= RNA_def_enum(ot->srna, "mode", object_mode_items, 0, "Mode", "");
+       prop= RNA_def_enum(ot->srna, "mode", object_mode_items, OB_MODE_OBJECT, 
"Mode", "");
        RNA_def_enum_funcs(prop, object_mode_set_itemsf);
 
        RNA_def_boolean(ot->srna, "toggle", 0, "Toggle", "");

Modified: trunk/blender/source/blender/editors/screen/area.c
===================================================================
--- trunk/blender/source/blender/editors/screen/area.c  2009-09-14 17:22:51 UTC 
(rev 23229)
+++ trunk/blender/source/blender/editors/screen/area.c  2009-09-14 19:12:29 UTC 
(rev 23230)
@@ -916,7 +916,20 @@
        
 }
 
+void ED_region_toggle_hidden(bContext *C, ARegion *ar)
+{
+       ScrArea *sa= CTX_wm_area(C);
 
+       ar->flag ^= RGN_FLAG_HIDDEN;
+       ar->v2d.flag &= ~V2D_IS_INITIALISED; /* XXX should become hide/unhide 
api? */
+
+       if(ar->flag & RGN_FLAG_HIDDEN)
+               WM_event_remove_handlers(C, &ar->handlers);
+
+       ED_area_initialize(CTX_wm_manager(C), CTX_wm_window(C), sa);
+       ED_area_tag_redraw(sa);
+}
+
 /* sa2 to sa1, we swap spaces for fullscreen to keep all allocated data */
 /* area vertices were set */
 void area_copy_data(ScrArea *sa1, ScrArea *sa2, int swap_space)

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c    2009-09-14 
17:22:51 UTC (rev 23229)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c    2009-09-14 
19:12:29 UTC (rev 23230)
@@ -1320,10 +1320,11 @@
                                CLAMP(rmd->ar->type->minsizex, 0, 1000);
                                if(rmd->ar->type->minsizex < 24) {
                                        rmd->ar->type->minsizex= rmd->origval;
-                                       rmd->ar->flag |= RGN_FLAG_HIDDEN;
+                                       if(!(rmd->ar->flag & RGN_FLAG_HIDDEN))
+                                               ED_region_toggle_hidden(C, 
rmd->ar);
                                }
-                               else
-                                       rmd->ar->flag &= ~RGN_FLAG_HIDDEN;
+                               else if(rmd->ar->flag & RGN_FLAG_HIDDEN)
+                                       ED_region_toggle_hidden(C, rmd->ar);
                        }
                        else {
                                delta= event->y - rmd->origy;
@@ -1332,10 +1333,11 @@
                                CLAMP(rmd->ar->type->minsizey, 0, 1000);
                                if(rmd->ar->type->minsizey < 24) {
                                        rmd->ar->type->minsizey= rmd->origval;
-                                       rmd->ar->flag |= RGN_FLAG_HIDDEN;
+                                       if(!(rmd->ar->flag & RGN_FLAG_HIDDEN))
+                                               ED_region_toggle_hidden(C, 
rmd->ar);
                                }
-                               else
-                                       rmd->ar->flag &= ~RGN_FLAG_HIDDEN;
+                               else if(rmd->ar->flag & RGN_FLAG_HIDDEN)
+                                       ED_region_toggle_hidden(C, rmd->ar);
                        }
                        
                        WM_event_add_notifier(C, NC_SCREEN|NA_EDITED, NULL);
@@ -1346,7 +1348,7 @@
                        if(event->val==0) {
                                
                                if(ABS(event->x - rmd->origx) < 2 && 
ABS(event->y - rmd->origy) < 2) {
-                                       rmd->ar->flag ^= RGN_FLAG_HIDDEN;
+                                       ED_region_toggle_hidden(C, rmd->ar);
                                        WM_event_add_notifier(C, 
NC_SCREEN|NA_EDITED, NULL);
                                }                               
                                MEM_freeN(op->customdata);

Modified: trunk/blender/source/blender/editors/space_file/file_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/file_ops.c  2009-09-14 
17:22:51 UTC (rev 23229)
+++ trunk/blender/source/blender/editors/space_file/file_ops.c  2009-09-14 
19:12:29 UTC (rev 23230)
@@ -855,13 +855,9 @@
        ScrArea *sa= CTX_wm_area(C);
        ARegion *ar= file_buttons_region(sa);
        
-       if(ar) {
-               ar->flag ^= RGN_FLAG_HIDDEN;
-               ar->v2d.flag &= ~V2D_IS_INITIALISED; /* XXX should become 
hide/unhide api? */
-               
-               ED_area_initialize(CTX_wm_manager(C), CTX_wm_window(C), sa);
-               ED_area_tag_redraw(sa);
-       }
+       if(ar)
+               ED_region_toggle_hidden(C, ar);
+
        return OPERATOR_FINISHED;
 }
 

Modified: trunk/blender/source/blender/editors/space_graph/graph_buttons.c
===================================================================

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to