void
x_wm_mark_shell_size_user_specified (Widget wmshell)
{
- if (! XtIsWMShell (wmshell)) abort ();
+ if (! XtIsWMShell (wmshell)) ABORT ();
EmacsShellSetSizeUserSpecified (wmshell);
}
void
x_wm_mark_shell_position_user_specified (Widget wmshell)
{
- if (! XtIsWMShell (wmshell)) abort ();
+ if (! XtIsWMShell (wmshell)) ABORT ();
EmacsShellSetPositionUserSpecified (wmshell);
}
void
x_wm_set_shell_iconic_p (Widget shell, int iconic_p)
{
- if (! XtIsWMShell (shell)) abort ();
+ if (! XtIsWMShell (shell)) ABORT ();
/* Because of questionable logic in Shell.c, this sequence can't work:
Arg al [2];
if (!XtIsWMShell (wmshell))
- abort ();
+ ABORT ();
if (cw <= 0 || ch <= 0)
- abort ();
+ ABORT ();
XtSetArg (al [0], XtNwidthInc, cw);
XtSetArg (al [1], XtNheightInc, ch);
Arg al [2];
if (!XtIsWMShell (wmshell))
- abort ();
+ ABORT ();
#ifdef DEBUG_GEOMETRY_MANAGEMENT
/* See comment in EmacsShell.c */
printf ("x_wm_set_variable_size: %d %d\n", width, height);
XClassHint classhint;
if (!XtIsWMShell (shell))
- abort ();
+ ABORT ();
XtGetApplicationNameAndClass (dpy, &app_name, &app_class);
classhint.res_name = frame_name;
struct device *d = XDEVICE (FRAME_DEVICE (f));
if (!XtIsWMShell (w))
- abort ();
+ ABORT ();
if (NILP (DEVICE_X_WM_COMMAND_FRAME (d)))
{
/* OK, we're a top-level shell. */
if (!XtIsWMShell (wmshell))
- abort ();
+ ABORT ();
/* If the EmacsFrame doesn't have a geometry but the shell does,
treat that as the geometry of the frame.
#endif
/* finally the text area */
- XtConfigureWidget (text, text_x, text_y,
- width - 2*textbord,
- height - text_y - 2*textbord,
- textbord);
+ {
+ Dimension nw = width - 2*textbord;
+ Dimension nh = height - text_y - 2*textbord;
+
+ if (nh != f->pixheight || nw != f->pixwidth)
+ MARK_FRAME_SIZE_SLIPPED (f);
+ XtConfigureWidget (text, text_x, text_y, nw, nh, textbord);
+ }
}
static void
XFlush (XtDisplay (shell_widget)); /* hey, I'd like to DEBUG this... */
}
-/* Destroy the X window of frame S. */
+/* Destroy the X window of frame F. */
static void
x_delete_frame (struct frame *f)
{
dpy = XtDisplay (FRAME_X_SHELL_WIDGET (f));
#ifdef EXTERNAL_WIDGET
- expect_x_error (XtDisplay (FRAME_X_SHELL_WIDGET (f)));
+ expect_x_error (dpy);
/* for obscure reasons having (I think) to do with the internal
window-to-widget hierarchy maintained by Xt, we have to call
XtUnrealizeWidget() here. Xt can really suck. */
if (f->being_deleted)
XtUnrealizeWidget (FRAME_X_SHELL_WIDGET (f));
XtDestroyWidget (FRAME_X_SHELL_WIDGET (f));
- x_error_occurred_p (XtDisplay (FRAME_X_SHELL_WIDGET (f)));
+ x_error_occurred_p (dpy);
#else
XtDestroyWidget (FRAME_X_SHELL_WIDGET (f));
/* make sure the windows are really gone! */
Lisp_Object font = FACE_FONT (Vdefault_face, frame, Vcharset_ascii);
if (!EQ (font, Vthe_null_font_instance))
- XtSetArg (al[ac], XtNfont,
- (void *) FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font)));
- ac++;
+ {
+ XtSetArg (al[ac], XtNfont,
+ (void *) FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font)));
+ ac++;
+ }
}
else
- abort ();
+ ABORT ();
XtSetValues (FRAME_X_TEXT_WIDGET (frm), al, ac);