Enlightenment CVS committal

Author  : dj2
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src/lib


Modified Files:
        ewl_text.c 


Log Message:
- simplify the default context handling a bit

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_text.c,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -3 -r1.56 -r1.57
--- ewl_text.c  21 Nov 2005 17:50:50 -0000      1.56
+++ ewl_text.c  21 Nov 2005 17:59:18 -0000      1.57
@@ -113,10 +113,7 @@
        }
 
        /* create the default context and stick it into the tree */
-       if (!ewl_text_default_context)
-               ewl_text_default_context = ewl_text_context_default_create(t);
-       t->current_context = ewl_text_default_context;
-       ewl_text_context_acquire(t->current_context);
+       t->current_context = ewl_text_context_default_create(t);
 
        t->formatting->tx = t->current_context;
        ewl_text_context_acquire(t->formatting->tx);
@@ -413,10 +410,8 @@
                t->length = strlen(text);
                t->total_size = t->length + 1;
 
-               if (!t->current_context) {
-                       t->current_context = ewl_text_default_context;
-                       ewl_text_context_acquire(ewl_text_default_context);
-               }
+               if (!t->current_context) 
+                       t->current_context = ewl_text_context_default_create(t);
 
                ewl_text_tree_text_context_insert(t->formatting, 
t->current_context, 
                                                                        idx, 
t->length);
@@ -425,8 +420,7 @@
        else
        {
                if (!t->current_context) {
-                       t->current_context = ewl_text_default_context;
-                       ewl_text_context_acquire(ewl_text_default_context);
+                       t->current_context = ewl_text_context_default_create(t);
                }
 
                len = strlen(text);
@@ -803,10 +797,8 @@
        /* do we have a current context? */
        if (t->current_context)
                ctx = t->current_context;
-       else {
-               ctx = ewl_text_default_context;
-               ewl_text_context_acquire(ctx);
-       }
+       else 
+               ctx = ewl_text_context_default_create(t);
 
        t->current_context = ewl_text_context_find(ctx, context_mask, 
tx_change);
        ewl_text_context_release(ctx);
@@ -2682,8 +2674,7 @@
                DRETURN(DLEVEL_STABLE);
        }
 
-       ctx = ewl_text_default_context;
-       ewl_text_context_acquire(ctx);
+       ctx = ewl_text_context_default_create(t);
        fmt = ewl_text_format_get(ctx);
        ewl_text_context_release(ctx);
 
@@ -2979,6 +2970,12 @@
        DCHECK_PARAM_PTR_RET("t", t, NULL);
        DCHECK_TYPE_RET("t", t, "text", NULL);
 
+       if (ewl_text_default_context)
+       {
+               ewl_text_context_acquire(ewl_text_default_context);
+               DRETURN_PTR(ewl_text_default_context, DLEVEL_STABLE);
+       }
+
        tmp = ewl_text_context_new();
 
        /* handle default values */
@@ -3107,6 +3104,11 @@
        tx = ewl_text_context_find(tmp, EWL_TEXT_CONTEXT_MASK_NONE, NULL);
        ewl_text_context_release(tmp);
 
+       /* setup the default context and acquire a ref on it so it won't go
+        * away */
+       ewl_text_default_context = tx;
+       ewl_text_context_acquire(tx);
+
        DRETURN_PTR(tx, DLEVEL_STABLE);
 }
 
@@ -3131,6 +3133,9 @@
                ecore_hash_destroy(context_hash);
                context_hash = NULL;
        }
+
+       if (ewl_text_default_context)
+               ewl_text_context_release(ewl_text_default_context);
 }
 
 static char *




-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.  Get Certified Today
Register for a JBoss Training Course.  Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to