SmartClient Version: v13.1p_2025-06-06/Enterprise Deployment (built 2025-06-06)
Hi, I'm very glad to say that everything now seems to be fixed.
And yes, the issue I noticed with yesterday's build was also present in previous builds, but I hadn't noticed it before.
Announcement
Collapse
No announcement yet.
X
-
Claudio, these two issues should be fixed in builds dated June 6 or later.
Leave a comment:
-
Thanks Claudio. We are able to reproduce the warnings but we would have expected that to happen with older versions as well. No matter, we'll take care of it.
Leave a comment:
-
SmartClient Version: v13.1p_2025-06-05/Enterprise Deployment (built 2025-06-05)
Hi, the previous test cases seem to be resolved, but I’ve noticed another issue in my application. In the meantime, there are a series of WARN logs which I’ll paste below, related to various AdaptiveMenus:
*18:03:41.890:TMR8:WARN:drawing:reportGaraAdaptiveMenu_inlineMenuItem:Attempt to draw child of an undrawn parent - ignoring
Canvas.readyToDraw()
Canvas.draw(showing=>undef, undef, undef)
StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
AdaptiveMenu.refreshLayout()
AdaptiveMenu.setData(items=>Array[3])
AdaptiveMenu.setItems(items=>Array[3])
ReportAttivitaAdaptiveMenu.initWidget(Obj{ID:reportGaraAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
Canvas.init(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
Class.completeCreation(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
[c]Class.create(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
anonymous()
[c]Class.evaluate(expression=>"reportGaraCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
anonymous(expression=>"reportGaraCreate()", hiddenIFrameEval=>undef)
anonymous()
** recursed on [c]Class.evaluate
*18:03:41.890:TMR8:WARN:drawing:reportGaraAdaptiveMenu_inlineMenuItem_isc_OID_3:Attempt to draw child of an undrawn parent - ignoring
Canvas.readyToDraw()
Canvas.draw(showing=>undef, undef, undef)
StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
AdaptiveMenu.refreshLayout()
AdaptiveMenu.setData(items=>Array[3])
AdaptiveMenu.setItems(items=>Array[3])
ReportAttivitaAdaptiveMenu.initWidget(Obj{ID:reportGaraAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
Canvas.init(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
Class.completeCreation(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
[c]Class.create(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
anonymous()
[c]Class.evaluate(expression=>"reportGaraCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
anonymous(expression=>"reportGaraCreate()", hiddenIFrameEval=>undef)
anonymous()
** recursed on [c]Class.evaluate
*18:03:41.891:TMR8:WARN:drawing:reportGaraAdaptiveMenu_inlineMenuItem_isc_OID_4:Attempt to draw child of an undrawn parent - ignoring
Canvas.readyToDraw()
Canvas.draw(showing=>undef, undef, undef)
StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
AdaptiveMenu.refreshLayout()
AdaptiveMenu.setData(items=>Array[3])
AdaptiveMenu.setItems(items=>Array[3])
ReportAttivitaAdaptiveMenu.initWidget(Obj{ID:reportGaraAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
Canvas.init(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
Class.completeCreation(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
[c]Class.create(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
anonymous()
[c]Class.evaluate(expression=>"reportGaraCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
anonymous(expression=>"reportGaraCreate()", hiddenIFrameEval=>undef)
anonymous()
** recursed on [c]Class.evaluate
*18:03:41.921:TMR8:WARN:Carousel:reportGaraCarousel:stepChanged handler not defined on reportGaraGestioneEventoForm
*18:03:41.921:TMR8:WARN:Carousel:reportGaraCarousel:stepChanged handler not defined on reportGaraOrganizzazioneForm
*18:03:41.921:TMR8:WARN:Carousel:reportGaraCarousel:stepChanged handler not defined on reportGaraTestataForm
*18:03:41.949:TMR8:WARN:drawing:reportVisitaContattiSocietaAdaptiveMenu_inlineMenuItem:Attempt to draw child of an undrawn parent - ignoring
Canvas.readyToDraw()
Canvas.draw(showing=>undef, undef, undef)
StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
AdaptiveMenu.refreshLayout()
AdaptiveMenu.setData(items=>Array[4])
AdaptiveMenu.setItems(items=>Array[4])
ContattiSocietaAdaptiveMenu.initWidget(Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
Canvas.init(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
Class.completeCreation(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
[c]Class.create(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
anonymous()
[c]Class.evaluate(expression=>"reportVisitaCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
anonymous(expression=>"reportVisitaCreate()", hiddenIFrameEval=>undef)
anonymous()
** recursed on [c]Class.evaluate
*18:03:41.949:TMR8:WARN:drawing:reportVisitaContattiSocietaAdaptiveMenu_inlineMenuItem_isc_OID_5:Attempt to draw child of an undrawn parent - ignoring
Canvas.readyToDraw()
Canvas.draw(showing=>undef, undef, undef)
StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
AdaptiveMenu.refreshLayout()
AdaptiveMenu.setData(items=>Array[4])
AdaptiveMenu.setItems(items=>Array[4])
ContattiSocietaAdaptiveMenu.initWidget(Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
Canvas.init(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
Class.completeCreation(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
[c]Class.create(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
anonymous()
[c]Class.evaluate(expression=>"reportVisitaCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
anonymous(expression=>"reportVisitaCreate()", hiddenIFrameEval=>undef)
anonymous()
** recursed on [c]Class.evaluate
*18:03:41.949:TMR8:WARN:drawing:reportVisitaContattiSocietaAdaptiveMenu_inlineMenuItem_isc_OID_6:Attempt to draw child of an undrawn parent - ignoring
Canvas.readyToDraw()
Canvas.draw(showing=>undef, undef, undef)
StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
AdaptiveMenu.refreshLayout()
AdaptiveMenu.setData(items=>Array[4])
AdaptiveMenu.setItems(items=>Array[4])
ContattiSocietaAdaptiveMenu.initWidget(Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
Canvas.init(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
Class.completeCreation(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
[c]Class.create(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
anonymous()
[c]Class.evaluate(expression=>"reportVisitaCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
anonymous(expression=>"reportVisitaCreate()", hiddenIFrameEval=>undef)
anonymous()
** recursed on [c]Class.evaluate
*18:03:41.950:TMR8:WARN:drawing:reportVisitaContattiSocietaAdaptiveMenu_inlineMenuItem_isc_OID_7:Attempt to draw child of an undrawn parent - ignoring
Canvas.readyToDraw()
Canvas.draw(showing=>undef, undef, undef)
StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
AdaptiveMenu.refreshLayout()
AdaptiveMenu.setData(items=>Array[4])
AdaptiveMenu.setItems(items=>Array[4])
ContattiSocietaAdaptiveMenu.initWidget(Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
Canvas.init(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
Class.completeCreation(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
[c]Class.create(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
anonymous()
[c]Class.evaluate(expression=>"reportVisitaCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
anonymous(expression=>"reportVisitaCreate()", hiddenIFrameEval=>undef)
anonymous()
** recursed on [c]Class.evaluate
*18:03:41.982:TMR8:WARN:drawing:reportVisitaAdaptiveMenu_inlineMenuItem:Attempt to draw child of an undrawn parent - ignoring
Canvas.readyToDraw()
Canvas.draw(showing=>undef, undef, undef)
StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
AdaptiveMenu.refreshLayout()
AdaptiveMenu.setData(items=>Array[3])
AdaptiveMenu.setItems(items=>Array[3])
ReportAttivitaAdaptiveMenu.initWidget(Obj{ID:reportVisitaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
Canvas.init(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
Class.completeCreation(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
[c]Class.create(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
anonymous()
[c]Class.evaluate(expression=>"reportVisitaCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
anonymous(expression=>"reportVisitaCreate()", hiddenIFrameEval=>undef)
anonymous()
** recursed on [c]Class.evaluate
*18:03:41.983:TMR8:WARN:drawing:reportVisitaAdaptiveMenu_inlineMenuItem_isc_OID_8:Attempt to draw child of an undrawn parent - ignoring
Canvas.readyToDraw()
Canvas.draw(showing=>undef, undef, undef)
StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
AdaptiveMenu.refreshLayout()
AdaptiveMenu.setData(items=>Array[3])
AdaptiveMenu.setItems(items=>Array[3])
ReportAttivitaAdaptiveMenu.initWidget(Obj{ID:reportVisitaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
Canvas.init(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
Class.completeCreation(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
[c]Class.create(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
anonymous()
[c]Class.evaluate(expression=>"reportVisitaCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
anonymous(expression=>"reportVisitaCreate()", hiddenIFrameEval=>undef)
anonymous()
** recursed on [c]Class.evaluate
*18:03:41.983:TMR8:WARN:drawing:reportVisitaAdaptiveMenu_inlineMenuItem_isc_OID_9:Attempt to draw child of an undrawn parent - ignoring
Canvas.readyToDraw()
Canvas.draw(showing=>undef, undef, undef)
StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
AdaptiveMenu.refreshLayout()
AdaptiveMenu.setData(items=>Array[3])
AdaptiveMenu.setItems(items=>Array[3])
ReportAttivitaAdaptiveMenu.initWidget(Obj{ID:reportVisitaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
Canvas.init(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
Class.completeCreation(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
[c]Class.create(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
anonymous()
[c]Class.evaluate(expression=>"reportVisitaCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
anonymous(expression=>"reportVisitaCreate()", hiddenIFrameEval=>undef)
anonymous()
** recursed on [c]Class.evaluate
*18:03:42.102:TMR8:WARN:drawing: planningScuolaCalcioContattiSocietaAdaptiveMenu_inlineMenuItem:Attempt to draw child of an undrawn parent - ignoring
Canvas.readyToDraw()
Canvas.draw(showing=>undef, undef, undef)
StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
AdaptiveMenu.refreshLayout()
AdaptiveMenu.setData(items=>Array[5])
AdaptiveMenu.setItems(items=>Array[5])
ContattiSocietaAdaptiveMenu.initWidget(Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
Canvas.init(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
Class.completeCreation(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
[c]Class.create(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
anonymous()
[c]Class.evaluate(expression=>"planningScuolaCalcioModaleCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
anonymous(expression=>"planningScuolaCalcioModaleCreate()", hiddenIFrameEval=>undef)
anonymous()
planningScuolaCalcioObservation()
callback(undefined=>undef)
"planningScuolaCalcio()"
[c]Class.fireCallback(callback=>"planningScuolaCalcio()", argNames=>null, args=>null, target=>null, catchErrors=>true)
[c]Timer._fireTimeout(ID=>"_timeout16", tmrID=>51, delayedTmrID=>undef)
anonymous()
"isc.Timer._fireTimeout(ID, tmrID);"
*18:03:42.102:TMR8:WARN:drawing: planningScuolaCalcioContattiSocietaAdaptiveMenu_inlineMenuItem_isc_OID_10:Attempt to draw child of an undrawn parent - ignoring
Canvas.readyToDraw()
Canvas.draw(showing=>undef, undef, undef)
StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
AdaptiveMenu.refreshLayout()
AdaptiveMenu.setData(items=>Array[5])
AdaptiveMenu.setItems(items=>Array[5])
ContattiSocietaAdaptiveMenu.initWidget(Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
Canvas.init(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
Class.completeCreation(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
[c]Class.create(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
anonymous()
[c]Class.evaluate(expression=>"planningScuolaCalcioModaleCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
anonymous(expression=>"planningScuolaCalcioModaleCreate()", hiddenIFrameEval=>undef)
anonymous()
planningScuolaCalcioObservation()
callback(undefined=>undef)
"planningScuolaCalcio()"
[c]Class.fireCallback(callback=>"planningScuolaCalcio()", argNames=>null, args=>null, target=>null, catchErrors=>true)
[c]Timer._fireTimeout(ID=>"_timeout16", tmrID=>51, delayedTmrID=>undef)
anonymous()
"isc.Timer._fireTimeout(ID, tmrID);"
*18:03:42.103:TMR8:WARN:drawing: planningScuolaCalcioContattiSocietaAdaptiveMenu_inlineMenuItem_isc_OID_11:Attempt to draw child of an undrawn parent - ignoring
Canvas.readyToDraw()
Canvas.draw(showing=>undef, undef, undef)
StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
AdaptiveMenu.refreshLayout()
AdaptiveMenu.setData(items=>Array[5])
AdaptiveMenu.setItems(items=>Array[5])
ContattiSocietaAdaptiveMenu.initWidget(Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
Canvas.init(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
Class.completeCreation(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
[c]Class.create(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
anonymous()
[c]Class.evaluate(expression=>"planningScuolaCalcioModaleCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
anonymous(expression=>"planningScuolaCalcioModaleCreate()", hiddenIFrameEval=>undef)
anonymous()
planningScuolaCalcioObservation()
callback(undefined=>undef)
"planningScuolaCalcio()"
[c]Class.fireCallback(callback=>"planningScuolaCalcio()", argNames=>null, args=>null, target=>null, catchErrors=>true)
[c]Timer._fireTimeout(ID=>"_timeout16", tmrID=>51, delayedTmrID=>undef)
anonymous()
"isc.Timer._fireTimeout(ID, tmrID);"
*18:03:42.103:TMR8:WARN:drawing: planningScuolaCalcioContattiSocietaAdaptiveMenu_inlineMenuItem_isc_OID_12:Attempt to draw child of an undrawn parent - ignoring
Canvas.readyToDraw()
Canvas.draw(showing=>undef, undef, undef)
StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
AdaptiveMenu.refreshLayout()
AdaptiveMenu.setData(items=>Array[5])
AdaptiveMenu.setItems(items=>Array[5])
ContattiSocietaAdaptiveMenu.initWidget(Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
Canvas.init(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
Class.completeCreation(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
[c]Class.create(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
anonymous()
[c]Class.evaluate(expression=>"planningScuolaCalcioModaleCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
anonymous(expression=>"planningScuolaCalcioModaleCreate()", hiddenIFrameEval=>undef)
anonymous()
planningScuolaCalcioObservation()
callback(undefined=>undef)
"planningScuolaCalcio()"
[c]Class.fireCallback(callback=>"planningScuolaCalcio()", argNames=>null, args=>null, target=>null, catchErrors=>true)
[c]Timer._fireTimeout(ID=>"_timeout16", tmrID=>51, delayedTmrID=>undef)
anonymous()
"isc.Timer._fireTimeout(ID, tmrID);"
*18:03:42.103:TMR8:WARN:drawing: planningScuolaCalcioContattiSocietaAdaptiveMenu_inlineMenuItem_isc_OID_13:Attempt to draw child of an undrawn parent - ignoring
Canvas.readyToDraw()
Canvas.draw(showing=>undef, undef, undef)
StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
AdaptiveMenu.refreshLayout()
AdaptiveMenu.setData(items=>Array[5])
AdaptiveMenu.setItems(items=>Array[5])
ContattiSocietaAdaptiveMenu.initWidget(Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
Canvas.init(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
Class.completeCreation(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
[c]Class.create(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
anonymous()
[c]Class.evaluate(expression=>"planningScuolaCalcioModaleCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
anonymous(expression=>"planningScuolaCalcioModaleCreate()", hiddenIFrameEval=>undef)
anonymous()
planningScuolaCalcioObservation()
callback(undefined=>undef)
"planningScuolaCalcio()"
[c]Class.fireCallback(callback=>"planningScuolaCalcio()", argNames=>null, args=>null, target=>null, catchErrors=>true)
[c]Timer._fireTimeout(ID=>"_timeout16", tmrID=>51, delayedTmrID=>undef)
anonymous()
"isc.Timer._fireTimeout(ID, tmrID);"
*18:03:42.183:TMR8:WARN:AdaptiveMenu: planningScuolaCalcioAdaptiveMenu:couldn't find member to remove: [ToolStripButton ID: planningScuolaCalcioAdaptiveMenu_inlineEmbeddedPlaceholder]
One difference compared to the others is that there’s a ToolStrip (included as a gridComponent) that contains a ToolStripButton followed by the AdaptiveMenu.
Unfortunately, I haven’t been able to reproduce that exact issue in the showcase. I must try harder.
While trying to create a similar case, I did manage to reproduce a situation where the menu button gets cut off (using Shiva and Spacious density):
Code:isc.AdaptiveMenu.create({ ID: "gridAdaptiveMenu", menuButtonTitle: "More...", align: "center", defaultLayoutAlign: "center", items: [ { title: "Foo Bar", icon:"Edit" }, { title: "Foo Bar", icon:"Edit" }, { title: "Foo Bar", icon:"Edit", visibleWhen: {fieldName: "exampleForm.values.username", operator: "equals", value: "bob"} }, { title: "Foo Bar", icon:"Edit", visibleWhen: {fieldName: "exampleForm.values.username", operator: "notEqual", value: "bob"} }, { title: "Foo Bar Bar", icon:"Edit" }, { title: "Foo Bar", icon:"Edit" }, { title: "Foo Bar Bar", icon:"Edit" } ] }); isc.ToolStripButton.create({ ID: "aButton", title: " a button", icon: "Cancel" }); isc.ToolStrip.create({ ID: "gridToolStrip", height: 32, width: "100%", layoutMargin: 0, defaultLayoutAlign: "center", members: [aButton,gridAdaptiveMenu] }) isc.ListGrid.create({ ID: "countryList", width:590, height:400, data: countryData, gridComponents:["header", "body", gridToolStrip], fields:[ {name:"countryCode", title:"Flag", width:65, type:"image", imageURLPrefix:"flags/24/", imageURLSuffix:".png"}, {name:"countryName", title:"Country"}, {name:"capital", title:"Capital", showIf:"false"}, {name:"continent", title:"Continent"} ], canReorderFields: true })
Leave a comment:
-
Hi Claudio. Thanks for your patience. Please try your tests in new builds starting June 4 and let us know if you find any additional issues.
Leave a comment:
-
Thanks for the report, Claudio. Sorry for the delay.
We are looking at the latest report and the current algorithms to simplify the logic. As soon as we have something for you to test, we will update here.
Leave a comment:
-
SmartClient Version: v13.1p_2025-05-22/Enterprise Deployment (built 2025-05-22)
Hi, I can confirm that the test case above is resolved.
However, unfortunately I found another situation in my application where I’m seeing issues, and I believe I was able to reproduce it in the showcase.
The test case is the same as the previous one, but with the Window width reduced to 650. It should be tested with the Shiva skin and Spacious density.
Code:isc.DynamicForm.create({ ID: "exampleForm", width: "100%", fields: [ { name: "username", title: "Username", type: "text", width: "*", required: true, defaultValue: "bob" }, { name: "email", title: "Email", required: true, width: "*", type: "text", defaultValue: "bob@isomorphic.com" } ] }); isc.AdaptiveMenu.create({ ID: "adaptiveMenu", menuButtonTitle: "More...", align: "center", defaultLayoutAlign: "center", items: [ { title: "Foo Bar", icon:"Edit" }, { title: "Foo Bar", icon:"Edit" }, { title: "Foo Bar", icon:"Edit", visibleWhen: {fieldName: "exampleForm.values.username", operator: "equals", value: "bob"} }, { title: "Foo Bar", icon:"Edit", visibleWhen: {fieldName: "exampleForm.values.username", operator: "notEqual", value: "bob"} }, { title: "Foo Bar Bar", icon:"Edit" }, { title: "Foo Bar", icon:"Edit" }, { title: "Foo Bar Bar", icon:"Edit" } ] }); isc.ToolStrip.create({ ID: "toolStrip", height: 32, width: "100%", layoutMargin: 0, defaultLayoutAlign: "center", members: [ isc.IButton.create({title: "Close", icon: "Close", autoFit: true}), adaptiveMenu, isc.IButton.create({title: "Save", icon: "Save", autoFit: true})] }); isc.Window.create({ ID: "testWindow", width:650, height:400, title: isc.version, showFooter: true, items: [exampleForm], footerControls: [toolStrip], layoutBottomMargin: 20 }).show()
- Three visible ToolStripButtons plus the "More..." MenuButton
At this point, there's an initial issue, because there’s actually enough space for a fourth ToolStripButton before the "More..." MenuButton appears:
Anyway, continuing the test:
- Run testWindow.maximize()
- Then run testWindow.restore()
At this point, you’ll see five visible ToolStripButtons plus the "More..." MenuButton.
This confirms there was at least space for the fourth ToolStripButton, but not for the fifth - in fact, the "More..." MenuButton is clipped, and that’s the second issue:
Leave a comment:
-
Sorry for the delay, Claudio. Please check builds starting with May 20 for a fix.Last edited by Isomorphic; 19 May 2025, 12:28.
Leave a comment:
-
I'll add a detail that probably doesn't change the nature of the bug: while testing my application with Cypress, I happened to see the first button clipped instead of the last one.
Leave a comment:
-
SmartClient Version: v13.1p_2025-05-15/AllModules Development Only (built 2025-05-15)
Safari, Firefox, Chrome on MacOS
Hi, the issue is actually reproducible on desktop as well. Tested in the online showcase https://www-demos.smartclient.com/sm...13.1/showcase/, using the Shiva skin with Spacious density: the 6th ToolStrip button appears to be clipped.
Test case:
Code:isc.DynamicForm.create({ ID: "exampleForm", width: "100%", fields: [ { name: "username", title: "Username", type: "text", width: "*", required: true, defaultValue: "bob" }, { name: "email", title: "Email", required: true, width: "*", type: "text", defaultValue: "bob@isomorphic.com" } ] }); isc.AdaptiveMenu.create({ ID: "adaptiveMenu", menuButtonTitle: "More...", align: "center", defaultLayoutAlign: "center", items: [ { title: "Foo Bar", icon:"Edit" }, { title: "Foo Bar", icon:"Edit" }, { title: "Foo Bar", icon:"Edit", visibleWhen: {fieldName: "exampleForm.values.username", operator: "equals", value: "bob"} }, { title: "Foo Bar", icon:"Edit", visibleWhen: {fieldName: "exampleForm.values.username", operator: "notEqual", value: "bob"} }, { title: "Foo Bar Bar", icon:"Edit" }, { title: "Foo Bar", icon:"Edit" }, { title: "Foo Bar Bar", icon:"Edit" } ] }); isc.ToolStrip.create({ ID: "toolStrip", height: 32, width: "100%", layoutMargin: 0, defaultLayoutAlign: "center", members: [ isc.IButton.create({title: "Close", icon: "Close", autoFit: true}), adaptiveMenu, isc.IButton.create({title: "Save", icon: "Save", autoFit: true})] }); isc.Window.create({ ID: "testWindow", width:700, height:400, title: isc.version, showFooter: true, items: [exampleForm], footerControls: [toolStrip], layoutBottomMargin: 20 }).show()
Leave a comment:
-
SmartClient Version: v13.1p_2025-05-08/Enterprise Deployment (built 2025-05-08)
Hello, unfortunately, with the latest 13.1 build, I'm seeing the exact same issue as in post #1 again.
Leave a comment:
-
SmartClient Version: v13.1p_2025-01-23/AllModules Development Only (built 2025-01-23)
Hello, I can confirm that it's working now, thank you very much!
Using the 2025-01-18 build, yesterday, I encountered another problem, but I'm happy to say that it's also been fixed in today's build.
Leave a comment:
-
Thanks again for the test case, Claudio. The issue here was that the wrong 'last' item was being pulled from the inlined items to be placed in the menu causing the order to be misrepresented. This has been fixed in builds starting on 21 January.
Leave a comment:
-
v13.1p_2025-01-11/AllModules Development Only
Safari on iPad Mini 6th gen iOS 17.4 (XCode Simulator)
Hello, again as in the original post, please open the showcase with these density settings:
https://www-demos.smartclient.com/sm...rease=15&dhc=1
using an iPad Mini in portrait orientation, and run this code from the Safari console, so that the Window is at fullscreen:
Code:isc.DynamicForm.create({ ID: "exampleForm", width: "100%", fields: [ { name: "username", title: "Username", type: "text", width: "*", required: true, defaultValue: "bob" }, { name: "email", title: "Email", required: true, width: "*", type: "text", defaultValue: "bob@isomorphic.com" } ] }); isc.AdaptiveMenu.create({ ID: "adaptiveMenu", menuButtonTitle: "More...", align: "center", defaultLayoutAlign: "center", items: [ { title: "Foo Bar", icon: "Edit" }, { title: "Foo Bar", icon: "Edit" }, { title: "Foo Bar", icon: "Edit" }, { title: "Foo Bar Bar", icon: "Edit" }, { title: "Foo Bar", icon: "Cancel", enableWhen: {fieldName: "exampleForm.values.username", operator: "notEqual", value: "bob"} }, { title: "Foo Bar Bar", icon: "Cancel", enableWhen: {fieldName: "exampleForm.values.username", operator: "notEqual", value: "bob"} }, { title: "Foo Bar", icon: "Close", enableWhen: {fieldName: "exampleForm.values.username", operator: "equals", value: "bob"} } ] }); isc.ToolStrip.create({ ID: "toolStrip", height: 32, width: "100%", layoutMargin: 0, defaultLayoutAlign: "center", members: [ isc.IButton.create({title: "Close", icon: "Close", autoFit: true}), adaptiveMenu, isc.IButton.create({title: "Save", icon: "Save", autoFit: true})] }); isc.Window.create({ ID: "testWindow", title: isc.version, maximized: true, showFooter: true, items: [exampleForm], footerControls: [toolStrip], layoutBottomMargin: 20 }).show()
Leave a comment:
-
Claudio, no change in ordering is intended. When did you see this behavior change? And yes, a test case may be helpful to see exactly what you are experiencing.
Leave a comment:
Leave a comment: