[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17833] branches/blender2.5/blender/source : 2.5
Ton Roosendaal
ton at blender.org
Sun Dec 14 11:52:48 CET 2008
Revision: 17833
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17833
Author: ton
Date: 2008-12-14 11:52:48 +0100 (Sun, 14 Dec 2008)
Log Message:
-----------
2.5
The basics for InfoSpace.
Also added InfoSpace data to area by default, older files allowed to
have nothing here (space empty). (prevents reported crasher in switching
space info to others).
Also: added ifdeffed code in readfile.c to debug missing memory frees
from data read from files. (instead of "data from SCR" it will print
the actual struct names).
Modified Paths:
--------------
branches/blender2.5/blender/source/Makefile
branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
branches/blender2.5/blender/source/blender/editors/Makefile
branches/blender2.5/blender/source/blender/editors/SConscript
branches/blender2.5/blender/source/blender/editors/include/ED_space_api.h
branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c
branches/blender2.5/blender/source/blender/editors/screen/screen_intern.h
branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
branches/blender2.5/blender/source/blender/editors/space_api/spacetypes.c
Added Paths:
-----------
branches/blender2.5/blender/source/blender/editors/space_info/Makefile
branches/blender2.5/blender/source/blender/editors/space_info/SConscript
branches/blender2.5/blender/source/blender/editors/space_info/info_header.c
branches/blender2.5/blender/source/blender/editors/space_info/info_intern.h
branches/blender2.5/blender/source/blender/editors/space_info/space_info.c
Modified: branches/blender2.5/blender/source/Makefile
===================================================================
--- branches/blender2.5/blender/source/Makefile 2008-12-14 10:33:18 UTC (rev 17832)
+++ branches/blender2.5/blender/source/Makefile 2008-12-14 10:52:48 UTC (rev 17833)
@@ -235,6 +235,7 @@
PULIB += $(NAN_ELBEEM)/lib/$(DEBUG_DIR)libelbeem.a
PULIB += $(OCGDIR)/blender/readblenfile/$(DEBUG_DIR)libreadblenfile.a
PULIB += $(OCGDIR)/blender/ed_space/libed_space.a
+PULIB += $(OCGDIR)/blender/ed_info/libed_info.a
PULIB += $(OCGDIR)/blender/ed_buttons/libed_buttons.a
PULIB += $(OCGDIR)/blender/ed_node/libed_node.a
PULIB += $(OCGDIR)/blender/ed_image/libed_image.a
Modified: branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c 2008-12-14 10:33:18 UTC (rev 17832)
+++ branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c 2008-12-14 10:52:48 UTC (rev 17833)
@@ -4206,8 +4206,12 @@
sa->type= NULL; /* spacetype callbacks */
/* accident can happen when read/save new file with older version */
- if(sa->spacedata.first==NULL && sa->spacetype>SPACE_NLA)
- sa->spacetype= SPACE_EMPTY;
+ /* 2.50: we now always add spacedata for info */
+ if(sa->spacedata.first==NULL) {
+ SpaceInfo *sinfo= MEM_callocN(sizeof(SpaceInfo), "spaceinfo");
+ sa->spacetype= SPACE_INFO;
+ BLI_addtail(&sa->spacedata, sinfo);
+ }
for(pa= sa->panels.first; pa; pa=pa->next) {
pa->paneltab= newdataadr(fd, pa->paneltab);
@@ -4513,15 +4517,17 @@
while(bhead && bhead->code==DATA) {
void *data;
- /* XXX BAD DEBUGGING OPTION TO GIVE NAMES */
+#if 0
+ /* XXX DUMB DEBUGGING OPTION TO GIVE NAMES for guarded malloc errors */
short *sp= fd->filesdna->structs[bhead->SDNAnr];
char *allocname = fd->filesdna->types[ sp[0] ];
char *tmp= malloc(100);
strcpy(tmp, allocname);
+ data= read_struct(fd, bhead, tmp);
+#endif
+ data= read_struct(fd, bhead, allocname);
- data= read_struct(fd, bhead, tmp);
-
if (data) {
oldnewmap_insert(fd->datamap, bhead->old, data, 0);
}
Modified: branches/blender2.5/blender/source/blender/editors/Makefile
===================================================================
--- branches/blender2.5/blender/source/blender/editors/Makefile 2008-12-14 10:33:18 UTC (rev 17832)
+++ branches/blender2.5/blender/source/blender/editors/Makefile 2008-12-14 10:52:48 UTC (rev 17833)
@@ -29,6 +29,6 @@
# Bounces make to subdirectories.
SOURCEDIR = source/blender/editors
-DIRS = datafiles screen space_outliner space_time space_view3d interface util space_api space_ipo space_image space_node space_buttons
+DIRS = datafiles screen space_outliner space_time space_view3d interface util space_api space_ipo space_image space_node space_buttons space_info
include nan_subdirs.mk
Modified: branches/blender2.5/blender/source/blender/editors/SConscript
===================================================================
--- branches/blender2.5/blender/source/blender/editors/SConscript 2008-12-14 10:33:18 UTC (rev 17832)
+++ branches/blender2.5/blender/source/blender/editors/SConscript 2008-12-14 10:52:48 UTC (rev 17833)
@@ -15,5 +15,6 @@
'space_image/SConscript',
'space_node/SConscript',
'space_buttons/SConscript',
+ 'space_info/SConscript',
'transform/SConscript',
'screen/SConscript'])
Modified: branches/blender2.5/blender/source/blender/editors/include/ED_space_api.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_space_api.h 2008-12-14 10:33:18 UTC (rev 17832)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_space_api.h 2008-12-14 10:52:48 UTC (rev 17833)
@@ -39,6 +39,7 @@
void ED_spacetype_image(void);
void ED_spacetype_node(void);
void ED_spacetype_buttons(void);
+void ED_spacetype_info(void);
#endif /* ED_AREA_H */
Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c 2008-12-14 10:33:18 UTC (rev 17832)
+++ branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c 2008-12-14 10:52:48 UTC (rev 17833)
@@ -521,6 +521,47 @@
return 1;
}
+void select_connected_scredge(bScreen *sc, ScrEdge *edge)
+{
+ ScrEdge *se;
+ ScrVert *sv;
+ int oneselected;
+ char dir;
+
+ /* select connected, only in the right direction */
+ /* 'dir' is the direction of EDGE */
+
+ if(edge->v1->vec.x==edge->v2->vec.x) dir= 'v';
+ else dir= 'h';
+
+ sv= sc->vertbase.first;
+ while(sv) {
+ sv->flag = 0;
+ sv= sv->next;
+ }
+
+ edge->v1->flag= 1;
+ edge->v2->flag= 1;
+
+ oneselected= 1;
+ while(oneselected) {
+ se= sc->edgebase.first;
+ oneselected= 0;
+ while(se) {
+ if(se->v1->flag + se->v2->flag==1) {
+ if(dir=='h') if(se->v1->vec.y==se->v2->vec.y) {
+ se->v1->flag= se->v2->flag= 1;
+ oneselected= 1;
+ }
+ if(dir=='v') if(se->v1->vec.x==se->v2->vec.x) {
+ se->v1->flag= se->v2->flag= 1;
+ oneselected= 1;
+ }
+ }
+ se= se->next;
+ }
+ }
+}
/* test if screen vertices should be scaled */
static void screen_test_scale(bScreen *sc, int winsizex, int winsizey)
@@ -580,6 +621,33 @@
if(sa->v1==sa->v2 || sa->v3==sa->v4 || sa->v2==sa->v3)
screen_delarea(sc, sa);
}
+
+ /* make each window at least HEADERY high */
+ for(sa= sc->areabase.first; sa; sa= sa->next) {
+ int headery= HEADERY+1;
+
+ if(sa->v1->vec.y+headery > sa->v2->vec.y) {
+ /* lower edge */
+ ScrEdge *se= screen_findedge(sc, sa->v4, sa->v1);
+ if(se && sa->v1!=sa->v2 ) {
+ int yval;
+
+ select_connected_scredge(sc, se);
+
+ /* all selected vertices get the right offset */
+ yval= sa->v2->vec.y-headery;
+ sv= sc->vertbase.first;
+ while(sv) {
+ /* if is a collapsed area */
+ if(sv!=sa->v2 && sv!=sa->v3) {
+ if(sv->flag) sv->vec.y= yval;
+ }
+ sv= sv->next;
+ }
+ }
+ }
+ }
+
}
/* *********************** DRAWING **************************************** */
Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_intern.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/screen_intern.h 2008-12-14 10:33:18 UTC (rev 17832)
+++ branches/blender2.5/blender/source/blender/editors/screen/screen_intern.h 2008-12-14 10:52:48 UTC (rev 17833)
@@ -32,19 +32,20 @@
struct wmWindow;
/* area.c */
-void area_copy_data(ScrArea *sa1, ScrArea *sa2, int swap_space);
+void area_copy_data (ScrArea *sa1, ScrArea *sa2, int swap_space);
/* screen_edit.c */
-bScreen *screen_add(struct wmWindow *win, char *name);
-ScrEdge *screen_findedge(bScreen *sc, ScrVert *v1, ScrVert *v2);
-ScrArea *area_split(wmWindow *win, bScreen *sc, ScrArea *sa, char dir, float fac);
-int screen_area_join(bScreen* scr, ScrArea *sa1, ScrArea *sa2);
-int area_getorientation(bScreen *screen, ScrArea *sa, ScrArea *sb);
+bScreen *screen_add(struct wmWindow *win, char *name);
+ScrEdge *screen_findedge(bScreen *sc, ScrVert *v1, ScrVert *v2);
+ScrArea *area_split(wmWindow *win, bScreen *sc, ScrArea *sa, char dir, float fac);
+int screen_area_join(bScreen* scr, ScrArea *sa1, ScrArea *sa2);
+int area_getorientation(bScreen *screen, ScrArea *sa, ScrArea *sb);
+void select_connected_scredge(bScreen *sc, ScrEdge *edge);
-void removenotused_scrverts(bScreen *sc);
-void removedouble_scrverts(bScreen *sc);
-void removedouble_scredges(bScreen *sc);
-void removenotused_scredges(bScreen *sc);
+void removenotused_scrverts(bScreen *sc);
+void removedouble_scrverts(bScreen *sc);
+void removedouble_scredges(bScreen *sc);
+void removenotused_scredges(bScreen *sc);
#endif /* ED_SCREEN_INTERN_H */
Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c 2008-12-14 10:33:18 UTC (rev 17832)
+++ branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c 2008-12-14 10:52:48 UTC (rev 17833)
@@ -416,48 +416,6 @@
}
}
-static void select_connected_scredge(bScreen *sc, ScrEdge *edge)
-{
- ScrEdge *se;
- ScrVert *sv;
- int oneselected;
- char dir;
-
- /* select connected, only in the right direction */
- /* 'dir' is the direction of EDGE */
-
- if(edge->v1->vec.x==edge->v2->vec.x) dir= 'v';
- else dir= 'h';
-
- sv= sc->vertbase.first;
- while(sv) {
- sv->flag = 0;
- sv= sv->next;
- }
-
- edge->v1->flag= 1;
- edge->v2->flag= 1;
-
- oneselected= 1;
- while(oneselected) {
- se= sc->edgebase.first;
- oneselected= 0;
- while(se) {
- if(se->v1->flag + se->v2->flag==1) {
- if(dir=='h') if(se->v1->vec.y==se->v2->vec.y) {
- se->v1->flag= se->v2->flag= 1;
- oneselected= 1;
- }
- if(dir=='v') if(se->v1->vec.x==se->v2->vec.x) {
- se->v1->flag= se->v2->flag= 1;
- oneselected= 1;
- }
- }
- se= se->next;
- }
- }
-}
-
/* validate selection inside screen, set variables OK */
/* return 0: init failed */
static int area_move_init (bContext *C, wmOperator *op)
Modified: branches/blender2.5/blender/source/blender/editors/space_api/spacetypes.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_api/spacetypes.c 2008-12-14 10:33:18 UTC (rev 17832)
+++ branches/blender2.5/blender/source/blender/editors/space_api/spacetypes.c 2008-12-14 10:52:48 UTC (rev 17833)
@@ -68,6 +68,7 @@
ED_spacetype_image();
ED_spacetype_node();
ED_spacetype_buttons();
+ ED_spacetype_info();
// ...
/* register operator types for screen and all spaces */
Added: branches/blender2.5/blender/source/blender/editors/space_info/Makefile
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_info/Makefile (rev 0)
+++ branches/blender2.5/blender/source/blender/editors/space_info/Makefile 2008-12-14 10:52:48 UTC (rev 17833)
@@ -0,0 +1,53 @@
+#
+# $Id: Makefile 14 2002-10-13 15:57:19Z hans $
+#
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list