IE10 crashes when resized in zoom view

Hi Guys.

Vaadin 7.1.13, Windows 7 Pro, IE10 (10.0.9200.16844)

Depending on the Vaadin layout, there seems to be a problem with IE10 crashing when resized, if and only if it is in zoom mode (say 95%). It doesn’t crash quickly all the time, and sometimes you need to really drag the corner of the window around in circles fast, but it will crash sooner or later.

This doesnt happen when its not in zoom mode (100%), and it doesnt happen on Chrome or Firefox (zoomed or not).

Here is a little bit of code which can replicate the issue. I have kept the layout that causes the problem exactly as it is in our app.

[code]
public class MyUI extends UI
{
@Override
public void init(VaadinRequest vaadinRequest)
{
Table table = new Table();
table.setWidth(“100%”);
table.setHeight(“100%”);
table.setImmediate(true);
table.setSelectable(true);
table.setMultiSelect(false);
table.setNullSelectionAllowed(false);

    // some dummy data
    for (int i = 0; i < 5; i++)
    {
        table.addContainerProperty("Col " + i, String.class, null);
    }
    
    for (int i = 0; i < 10; i++)
    {
        Object o = new Object[5]

;

        for  (int j = 0; j < 5; j++)
        {
            o[j]

= "Val " + i + “,” + j;
}

        table.addItem(o, i);
    }
    
    Button button1 = new Button("Button 1");
    Button button2 = new Button("Button 2");
    Button button3 = new Button("Button 3");  
    
    HorizontalLayout hl = new HorizontalLayout();    
    hl.setWidth("100%");
    hl.setHeight(null);                                                               
    hl.setSpacing(true);
    hl.setMargin(false);
    hl.addComponent(button1);        
           
    HorizontalLayout hl2 = new HorizontalLayout();
    hl2.setWidth(null);
    hl2.setHeight(null);                                                               
    hl2.setSpacing(true);
    hl2.setMargin(false);
    hl2.addComponent(button2);        
    hl2.addComponent(button3);
    
    hl.addComponent(hl2);
    hl.setExpandRatio(hl2, 1);
    hl.setComponentAlignment(hl2, Alignment.MIDDLE_RIGHT);
    
    // overall layout
    VerticalLayout vl = new VerticalLayout();
    vl.setMargin(false);
    vl.setSpacing(true);         
    vl.setWidth("100%");
    vl.setHeight("100%");
    
    vl.addComponent(table);        
    vl.addComponent(hl);
    vl.setExpandRatio(table, 1);     
    
    // Building the window is separated from the application initialization        
    setContent(vl);        
}               

}
[/code]I did notice that if I changed the VerticalLayout to a GridLayout, it no longer seemed to crash.
Im pretty sure it has nothing to do with the Horizontal layout (hl) of the buttons, or the table itself, as these can be replaced one at a time by simple Labels, and the same crashing occurs regardless.

Any ideas? Naturally, the work around for us is to list it as a known issue, and ensure customers dont use zoom mode in IE10. But hopefully this is something Vaadin can fix in the future.

Cheers,
Lee.

Hi,

this could be related to this issue:
http://dev.vaadin.com/ticket/13359
. I have done some work on that, but at least back then I could not witness a crash. The problem has something to do with how IE reports sizes when zoom is applied, which in turn causes the LayoutManager to enter an infinite loop. The loop
should
be terminated after 100 passes but there might be some other issue hiding there too.

Could you file a ticket about this issue (including a simple test case) at
http://dev.vaadin.com
?

-tepi

Cheers, and done!


http://dev.vaadin.com/ticket/13658