Subject: Re: 24.3.93; Crash during restoration of frameset from desktop

From: martin rudalics <[email-masked]>
Date: Tue, 23 Sep 2014 07:48:40 +0200

> I certainly think so.  If GetClientRect fails, how does it make sense
 > to use what we find in the rectangle data structure we passed to it?
 > The values there are just garbage.

We have to check these values anyway because our window structure might
be too complex to fit into the rectangle returned by GetClientRect.  But
then we should probably also rewrite things like w32_clear_window as

   if (hdc && GetClientRect (FRAME_W32_WINDOW (f), &rect))
     w32_clear_rect (f, hdc, &rect);

 >>   > +  /* Recompute the dimensions in character units, since
 >>   > +     check_frame_size might have changed the pixel dimensions.  */
 >>   > +  /* Consider rounding here: Currently, the root window can be
 >>   > +     larger than the frame in terms of columns/lines.  */
 >>   > +  new_cols = new_text_width / FRAME_COLUMN_WIDTH (f);
 >>   > +  new_lines = new_text_height / FRAME_LINE_HEIGHT (f);

I never got around to ask you: Do you anywhere see a need to round up
the values of new_cols and new_lines in cases like this?

martin