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