--- libXt-1.0.5.orig/src/Resources.c 2006-09-01 19:56:39.000000000 -0500 +++ libXt-1.0.5/src/Resources.c 2009-06-29 16:25:58.000000000 -0500 @@ -927,8 +927,12 @@ static XtCacheRef *GetResources( } } UNLOCK_PROCESS; - - if (typed[j]) { + } + } + { + int cnt_redux = 0; + for (res = table, j = 0; j < num_resources; j++, res++) { + if (!found[j] && typed[j]) { /* * This resource value was specified as a typed arg. * However, the default value is being used here since @@ -937,13 +941,15 @@ static XtCacheRef *GetResources( register XtTypedArg* arg = typed_args + typed[j] - 1; register int i; - for (i = num_typed_args - typed[j]; i; i--, arg++) { + for (i = num_typed_args - typed[j]; i > cnt_redux; i--, arg++) { *arg = *(arg+1); } - num_typed_args--; + cnt_redux++; } - } + } + num_typed_args -= cnt_redux; } + if (tm_hack) widget->core.tm.current_state = NULL; if (tm_hack &&