Index: openacs-4/packages/acs-templating/tcl/richtext-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/richtext-procs.tcl,v diff -u -r1.22 -r1.23 --- openacs-4/packages/acs-templating/tcl/richtext-procs.tcl 20 Jun 2006 22:45:58 -0000 1.22 +++ openacs-4/packages/acs-templating/tcl/richtext-procs.tcl 6 Jul 2006 20:09:47 -0000 1.23 @@ -371,7 +371,8 @@ set package_id_templating [apm_package_id_from_key "acs-templating"] set user_agent [string tolower [ns_set get [ns_conn headers] User-Agent]] - if { [string first "safari" $user_agent] != -1 } { + if { [string first "safari" $user_agent] != -1 || + [string first "opera" $user_agent] != -1 } { set htmlarea_p 0 } elseif { [exists_and_not_null element(htmlarea_p)] } { set htmlarea_p [template::util::is_true $element(htmlarea_p)] Index: openacs-4/packages/acs-templating/www/resources/mktree.js =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/resources/mktree.js,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-templating/www/resources/mktree.js 4 Jun 2006 00:45:48 -0000 1.2 +++ openacs-4/packages/acs-templating/www/resources/mktree.js 6 Jul 2006 20:09:47 -0000 1.3 @@ -136,6 +136,10 @@ // Search the document for UL elements with the correct CLASS name, then process them function convertTrees() { + // this is a check in opera to avoid multiple renderings + if (typeof window.treeClass != 'undefined') { + return; + } setDefault("treeClass","mktree"); setDefault("nodeClosedClass","liClosed"); setDefault("nodeOpenClass","liOpen");