- win = FRAME_OUTER_WINDOW (f);
- /* Try _NET_FRAME_EXTENTS first. */
- rc = XGetWindowProperty (dpy, win, dpyinfo->Xatom_net_frame_extents,
- 0, max_len, False, target_type,
- &actual_type, &actual_format, &actual_size,
- &bytes_remaining, &tmp_data);
-
- if (0 && rc == Success && actual_type == target_type && !x_had_errors_p (dpy)
- && actual_size == 4 && actual_format == 32)
- {
- int ign;
- Window rootw;
-
- XGetGeometry (FRAME_X_DISPLAY (f), win,
- &rootw, &real_x, &real_y, &ign, &ign, &ign, &ign);
- long *fe = (long *)tmp_data;
-
- FRAME_X_OUTPUT (f)->x_pixels_outer_diff = fe[0];
- FRAME_X_OUTPUT (f)->y_pixels_outer_diff = fe[2];
- *xptr = real_x - fe[0];
- *yptr = real_y - fe[2];
-
- if (FRAME_X_WINDOW (f) != win)
- {
- XGetGeometry (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
- &rootw, &real_x, &real_y, &ign, &ign, &ign, &ign);
-
- f->x_pixels_diff = real_x;
- f->y_pixels_diff = real_y;
- }
-
- if (tmp_data) XFree (tmp_data);
- x_uncatch_errors ();
- UNBLOCK_INPUT;
- return;
- }
-
- if (tmp_data) XFree (tmp_data);
-
- win = f->output_data.x->parent_desc;
- if (win == FRAME_X_DISPLAY_INFO (f)->root_window)