Mercurial > emacs
changeset 91633:e33a0659fabe
(Fx_create_frame): Do not override the explicitly set parent
window ID of a frame.
(x_window): Reparent frame if embedded.
(Fx_create_frame): Don't set border width if embedded.
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Thu, 07 Feb 2008 14:08:07 +0000 |
parents | 370f67c176eb |
children | 69cda6392921 |
files | src/xfns.c |
diffstat | 1 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xfns.c Thu Feb 07 14:07:55 2008 +0000 +++ b/src/xfns.c Thu Feb 07 14:08:07 2008 +0000 @@ -2720,6 +2720,10 @@ XtManageChild (pane_widget); XtRealizeWidget (shell_widget); + if (FRAME_X_EMBEDDED_P (f)) + XReparentWindow (FRAME_X_DISPLAY (f), XtWindow (shell_widget), + f->output_data.x->parent_desc, 0, 0); + FRAME_X_WINDOW (f) = XtWindow (frame_widget); validate_x_resource_name (); @@ -3459,8 +3463,10 @@ xlwmenu_default_font = FRAME_FONT (f); #endif - x_default_parameter (f, parms, Qborder_width, make_number (2), - "borderWidth", "BorderWidth", RES_TYPE_NUMBER); + /* Frame contents get displaced if an embedded X window has a border. */ + if (! FRAME_X_EMBEDDED_P (f)) + x_default_parameter (f, parms, Qborder_width, make_number (2), + "borderWidth", "BorderWidth", RES_TYPE_NUMBER); /* This defaults to 1 in order to match xterm. We recognize either internalBorderWidth or internalBorder (which is what xterm calls @@ -3531,8 +3537,6 @@ x_default_parameter (f, parms, Qfullscreen, Qnil, "fullscreen", "Fullscreen", RES_TYPE_SYMBOL); - f->output_data.x->parent_desc = FRAME_X_DISPLAY_INFO (f)->root_window; - /* Compute the size of the X window. */ window_prompting = x_figure_window_size (f, parms, 1);