NLA editor, adding actions wasn't possible when amount of actions was over
authorTon Roosendaal <ton@blender.org>
Mon, 12 Dec 2005 16:29:47 +0000 (16:29 +0000)
committerTon Roosendaal <ton@blender.org>
Mon, 12 Dec 2005 16:29:47 +0000 (16:29 +0000)
30, the databrowse option didnt work.

Made popup menu to go to 60 now, in 3 collums max. Databrowse works too
now.

Next commit; check all other databrowsers for it.

source/blender/blenkernel/intern/library.c
source/blender/src/editnla.c
source/blender/src/filesel.c

index 28808bb900ffaafc8067d7bd5deda30112e17dba..2dad108e32029eaeff642cfac91dba5f64ac5910 100644 (file)
@@ -1,11 +1,6 @@
-
-/*  library.c 
- * 
- *  Contains management of ID's and libraries
- *  allocate and free of all library data
- * 
+/** 
  * $Id$
- *
+ * 
  * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
  *
  * ***** END GPL/BL DUAL LICENSE BLOCK *****
  */
+
+/*
+ *  Contains management of ID's and libraries
+ *  allocate and free of all library data
+ * 
+ */
+
+
 #include <stdio.h>
 #include <ctype.h>
 #include <string.h>
 #include "BKE_action.h"
 #include "BPI_script.h"
 
-#define MAX_IDPUP              30      /* was 24 */
+#define MAX_IDPUP              60      /* was 24 */
 #define MAX_LIBARRAY   100 /* was 30, warning: used it readfile.c too */
 
 /* ************* general ************************ */
@@ -551,6 +554,7 @@ static void IDnames_to_dyn_pupstring(DynStr *pupds, ListBase *lb, ID *link, shor
        
        if (nr && nids>MAX_IDPUP) {
                BLI_dynstr_append(pupds, "DataBrowse %x-2");
+               *nr= -2;
        } else {
                ID *id;
                
index 45a80874596cc96aaf6b7d62202c524149d31a79..19ab993a0f03792849e144b34b1fe619eda8dd47 100644 (file)
@@ -441,8 +441,8 @@ static void add_nlablock(void)
 {
        Object *ob= OBACT;
        short event;
-       short nr;
-       char *str, title[64];
+       short nr=0;
+       char *str;
        
        if(ob==NULL) {
                error("Need active Object to add NLA strips");
@@ -450,10 +450,9 @@ static void add_nlablock(void)
        }
        
        /* Popup action menu */
-       sprintf(title, "Add Action strip to %s", ob->id.name+2);
-       IDnames_to_pupstring(&str, title, NULL, &G.main->action, (ID *)G.scene, &nr);
+       IDnames_to_pupstring(&str, "Add Action strip", NULL, &G.main->action, (ID *)G.scene, &nr);
        
-       if(strncmp(str+13, "DataBrow", 8)==0) {
+       if(nr==-2) {
                MEM_freeN(str);
 
                activate_databrowse((ID *)NULL, ID_AC, 0, 0, &G.snla->menunr, 
@@ -462,7 +461,7 @@ static void add_nlablock(void)
                return;                 
        }
        else {
-               event = pupmenu(str);
+               event = pupmenu_col(str, 20);
                MEM_freeN(str);
                add_nla_block(event);
        }
index 269e4bc04d7437beab9ad549467dfaf3147698c7..6ce6597d8b41dee4cd01a41921c6d0d2d0b904bb 100644 (file)
@@ -1405,9 +1405,9 @@ void activate_databrowse(ID *id, int idcode, int fromcode, int retval, short *me
        SpaceFile *sfile;
        char str[32];
        
-       if(id==0) {
+       if(id==NULL) {
                lb= wich_libbase(G.main, idcode);
-               id= lb->last;
+               id= lb->first;
        }
        
        if(id) strcpy(str, id->name);