--- rxvt-unicode/src/main.C 2006/01/25 00:57:57 1.201 +++ rxvt-unicode/src/main.C 2006/01/25 02:42:06 1.203 @@ -515,6 +515,16 @@ HOOK_INVOKE ((this, HOOK_START, DT_END)); +#if ENABLE_XEMBED + if (rs[Rs_embed]) + { + long info[2] = { 0, XEMBED_MAPPED }; + + XChangeProperty (display->display, parent[0], xa[XA_XEMBED_INFO], xa[XA_XEMBED_INFO], + 32, PropModeReplace, (unsigned char *)&info, 2); + } +#endif + XMapWindow (disp, vt); XMapWindow (disp, parent[0]); @@ -1213,7 +1223,7 @@ if (!Input_Context || !focus - || !(input_style & XIMPreeditPosition)) + || !(input_style & (XIMPreeditPosition | XIMPreeditCallbacks))) return; im_set_position (nspot); @@ -1483,6 +1493,8 @@ } else if (input_style & XIMPreeditCallbacks) { + im_set_position (spot); + xcb[0].client_data = (XPointer)this; xcb[0].callback = (XIMProc)xim_preedit_start; xcb[1].client_data = (XPointer)this; xcb[1].callback = (XIMProc)xim_preedit_done; xcb[2].client_data = (XPointer)this; xcb[2].callback = (XIMProc)xim_preedit_draw; @@ -1491,6 +1503,7 @@ #endif preedit_attr = XVaCreateNestedList (0, + XNSpotLocation, &spot, XNPreeditStartCallback, &xcb[0], XNPreeditDoneCallback , &xcb[1], XNPreeditDrawCallback , &xcb[2],