Draw Pane erase()/hide() functionality is broken on IE with the latest 8.3 builds.
If you call DrawPane erase(); then create any element and try to hide() it, IE crashes with JS error.
This definitely used to work a month ago and is only reproducible on all versions of IE. I think it got broken very recently, maybe this or last week.
Smartclient version: SmartClient_v83p_2013-03-06_Pro
Version v8.3p_2013-03-06/Pro Deployment (2013-03-06)
Browsers: IE7, IE8, IE9 on Windows 7.
Test Case (just add smartclient js files):
Error:
SCRIPT5007: Unable to get value of the property 'style': object is null or undefined
ISC_Drawing.js, line 173 character 621
return this.$448},$99g:function(_1,_2,_3,_4){return"<marker id='"+_1+"' viewBox='0 0 10 10' refY='5' refX='"+(_4?"10":"0")+"' orient='auto' markerUnits='strokeWidth' markerWidth='4' markerHeight='3'><path d='"+(_4?"M 10 0 L 0 5 L 10 10 z":"M 0 0 L 10 5 L 0 10 z")+"' fill='"+((_2&&_2!="")?_2:"none")+"' fill-opacity='"+_3+"'/></marker>"},show:function(){this.hidden=false;if(this.drawingVML){this.$44u.style.visibility="visible"}else if(this.drawingSVG){this.$44z.setAttributeNS(null,"visibility","visible")}else if(this.drawingBitmap){this.drawPane.redrawBitmap()}},hide:function(){this.hidden=true;if(this.drawingVML){this.$44u.style.visibility="hidden"}
If you call DrawPane erase(); then create any element and try to hide() it, IE crashes with JS error.
This definitely used to work a month ago and is only reproducible on all versions of IE. I think it got broken very recently, maybe this or last week.
Smartclient version: SmartClient_v83p_2013-03-06_Pro
Version v8.3p_2013-03-06/Pro Deployment (2013-03-06)
Browsers: IE7, IE8, IE9 on Windows 7.
Test Case (just add smartclient js files):
Code:
<%@ page contentType="text/html; charset=UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><link rel="shortcut icon" type="image/x-icon" href="favicon.ico"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<!-- smartclient js includes -->
<TITLE>Test Case for IE</TITLE>
</HEAD>
<BODY>
<script>
isc.DrawPane.create({
ID:"dp1",
autoDraw:true,
width:350,height:350
});
dp1.erase();
function drawSigns(drwPane){
var xy=new Array(2);
var cX=332,cY=330, anchor=0, i=1;
var _signD=new Array();
xy[0]=100; xy[1]=100;
_signD[i]=isc.DrawLabel.create({
autoDraw:true,
drawPane:drwPane,
ID:"signD"+i,
lineColor:"#000000",
left:xy[0],
top: xy[1],
fontSize:11,
contents:""+(i-1)*30
});
_signD[i].hide();
}
drawSigns(dp1);
</script>
</BODY></HTML>
Error:
SCRIPT5007: Unable to get value of the property 'style': object is null or undefined
ISC_Drawing.js, line 173 character 621
return this.$448},$99g:function(_1,_2,_3,_4){return"<marker id='"+_1+"' viewBox='0 0 10 10' refY='5' refX='"+(_4?"10":"0")+"' orient='auto' markerUnits='strokeWidth' markerWidth='4' markerHeight='3'><path d='"+(_4?"M 10 0 L 0 5 L 10 10 z":"M 0 0 L 10 5 L 0 10 z")+"' fill='"+((_2&&_2!="")?_2:"none")+"' fill-opacity='"+_3+"'/></marker>"},show:function(){this.hidden=false;if(this.drawingVML){this.$44u.style.visibility="visible"}else if(this.drawingSVG){this.$44z.setAttributeNS(null,"visibility","visible")}else if(this.drawingBitmap){this.drawPane.redrawBitmap()}},hide:function(){this.hidden=true;if(this.drawingVML){this.$44u.style.visibility="hidden"}
Comment