* Eli Zaretskii (2006-06-12) writes: >> From: Ralf Angeli <[EMAIL PROTECTED]> >> >> I suspect that `x_set_offset' is called somewhere with values of 0 >> for both offsets > > Correct. > >> but I could not find the respective call. > > You could find that call with a debugger, by setting a breakpoint in > x_set_offset.
It turned out that `x_set_offset' was called with `f->left_pos' and `f->top_pos' as arguments which have to be updated after the frame was created. The following patch works for me:
Index: w32fns.c =================================================================== RCS file: /sources/emacs/emacs/src/w32fns.c,v retrieving revision 1.270 diff -c -r1.270 w32fns.c --- w32fns.c 2 Jun 2006 21:20:44 -0000 1.270 +++ w32fns.c 12 Jun 2006 21:17:34 -0000 @@ -2085,8 +2085,8 @@ = CreateWindow (EMACS_CLASS, f->namebuf, f->output_data.w32->dwStyle | WS_CLIPCHILDREN, - f->left_pos, - f->top_pos, + CW_USEDEFAULT, + SW_SHOW, rect.right - rect.left, rect.bottom - rect.top, NULL, @@ -2106,7 +2106,12 @@ DragAcceptFiles (hwnd, TRUE); /* Do this to discard the default setting specified by our parent. */ - ShowWindow (hwnd, SW_HIDE); + ShowWindow (hwnd, SW_SHOW); + + /* Update frame positions. */ + GetWindowRect (hwnd, &rect); + f->left_pos = rect.left; + f->top_pos = rect.top; } }
An issue left is that the bottom of the frame may be covered by the task bar if it is placed too low on the screen. Does anybody know why `CreateWindow' or the other functions involved do not take care of this? -- Ralf
_______________________________________________ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug