Index: /FCKeditor/trunk/_whatsnew.html
===================================================================
--- /FCKeditor/trunk/_whatsnew.html	(revision 1465)
+++ /FCKeditor/trunk/_whatsnew.html	(revision 1466)
@@ -72,4 +72,6 @@
 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1336">#1336</a>] Sometimes
 			the autogrow plugin didn't work properly in Firefox.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1728">#1728</a>] External toolbars
+			are now properly sized in Opera.</li>
 	</ul>
 	<p>
Index: /FCKeditor/trunk/editor/_source/internals/fcktoolbarset.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fcktoolbarset.js	(revision 1465)
+++ /FCKeditor/trunk/editor/_source/internals/fcktoolbarset.js	(revision 1466)
@@ -91,5 +91,23 @@
 			// Initialize the IFRAME document body.
 			eTargetDocument.open() ;
-			eTargetDocument.write( '<html><head>' + sBase + '<script type="text/javascript"> var adjust = function() { window.frameElement.height = document.body.scrollHeight ; }; window.onresize = adjust; window.onload = function () {window.setTimeout( adjust, 0 );}</script></head><body style="overflow: hidden">' + document.getElementById( 'xToolbarSpace' ).innerHTML + '</body></html>' ) ;
+			eTargetDocument.write( '<html><head>' + sBase + '<script type="text/javascript"> var adjust = function() { window.frameElement.height = document.body.scrollHeight ; }; '
+					+ 'window.onresize = window.onload = '
+					+ 'function(){'		// poll scrollHeight until it no longer changes for 1 sec.
+					+ 'var timer = null;'
+					+ 'var lastHeight = -1;'
+					+ 'var lastChange = 0;'
+					+ 'var poller = function(){'
+					+ 'var currentHeight = document.body.scrollHeight || 0;'
+					+ 'var currentTime = (new Date()).getTime();'
+					+ 'if (currentHeight != lastHeight){'
+					+ 'lastChange = currentTime;'
+					+ 'adjust();'
+					+ 'lastHeight = document.body.scrollHeight;'
+					+ '}'
+					+ 'if (lastChange < currentTime - 1000) clearInterval(timer);'
+					+ '};'
+					+ 'timer = setInterval(poller, 100);'
+					+ '}'
+					+ '</script></head><body style="overflow: hidden">' + document.getElementById( 'xToolbarSpace' ).innerHTML + '</body></html>' ) ;
 			eTargetDocument.close() ;
 
