Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7151
Modified Files: Tag: devel_0_39 m_pd.h Log Message: adding t_observer by punching a hole into t_gobj. (this will preserve ABI compatibility with externs that don't use ->g_next, which is 99% of them)
Index: m_pd.h =================================================================== RCS file: /cvsroot/pure-data/pd/src/m_pd.h,v retrieving revision 1.4.4.11.2.5 retrieving revision 1.4.4.11.2.6 diff -C2 -d -r1.4.4.11.2.5 -r1.4.4.11.2.6 *** m_pd.h 24 Aug 2005 17:14:52 -0000 1.4.4.11.2.5 --- m_pd.h 5 Oct 2005 20:53:21 -0000 1.4.4.11.2.6 *************** *** 159,167 **** --- 159,180 ----
typedef t_class *t_pd; /* pure datum: nothing but a class pointer */ + #ifdef DESIRE + typedef struct _observable { + struct _gobj *next; /* big hack. this is the donut hole as cut from _gobj */ + int nobs; /* number of spies */ + struct _gobj **obs; /* I spy with my little I */ + } t_observable; + #endif
typedef struct _gobj /* a graphical object */ { t_pd g_pd; /* pure datum header (class) */ + #ifdef DESIRE + /* g_next is moved out to keep ABI compat */ + t_observable *g_obs; /* voyeurism */ + #define g_next g_obs->next + #else struct _gobj *g_next; /* next in list */ + #endif } t_gobj;