diff src/xfns.c @ 83407:37d0562504bf

Merged in changes from CVS trunk. Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-664 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-665 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-666 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-447
author Karoly Lorentey <lorentey@elte.hu>
date Sat, 10 Dec 2005 21:18:28 +0000
parents 03934708f1e9 87de4735ecc9
children 14a4eb789b45
line wrap: on
line diff
--- a/src/xfns.c	Sat Dec 10 21:12:12 2005 +0000
+++ b/src/xfns.c	Sat Dec 10 21:18:28 2005 +0000
@@ -619,7 +619,7 @@
 
   if (! had_errors)
     {
-      int ign;
+      unsigned int ign;
       Window child, rootw;
 
       /* Get the real coordinates for the WM window upper left corner */
@@ -805,9 +805,7 @@
     {
       GdkPixbuf *pixbuf;
       GError *err = NULL;
-      char *filename;
-
-      filename = SDATA (found);
+      char *filename = (char *) SDATA (found);
       BLOCK_INPUT;
 
       pixbuf = gdk_pixbuf_new_from_file (filename, &err);
@@ -836,17 +834,12 @@
     char **data;
 {
   int result = 0;
-  GError *err = NULL;
-  GdkPixbuf *pixbuf = gdk_pixbuf_new_from_xpm_data (data);
+  GdkPixbuf *pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **) data);
 
   if (!pixbuf)
-    {
-      g_error_free (err);
-      return 0;
-    }
-
-  gtk_window_set_icon (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
-		       pixbuf);
+    return 0;
+
+  gtk_window_set_icon (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), pixbuf);
   g_object_unref (pixbuf);
   return 1;
 }
@@ -1658,7 +1651,7 @@
 
 #ifdef USE_GTK
         gtk_window_set_title (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
-                              SDATA (ENCODE_UTF_8 (name)));
+                              (char *) SDATA (ENCODE_UTF_8 (name)));
 #else /* not USE_GTK */
 	XSetWMName (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), &text);
 #endif /* not USE_GTK */
@@ -3393,10 +3386,17 @@
                        FRAME_OUTER_WINDOW (f),
                        dpyinfo->Xatom_wm_client_leader,
                        XA_WINDOW, 32, PropModeReplace,
-                       (char *) &dpyinfo->client_leader_window, 1);
+                       (unsigned char *) &dpyinfo->client_leader_window, 1);
       UNBLOCK_INPUT;
     }
 
+  /* Initialize `default-minibuffer-frame' in case this is the first
+     frame on this display device.  */
+  if (FRAME_HAS_MINIBUF_P (f)
+      && (!FRAMEP (kb->Vdefault_minibuffer_frame)
+          || !FRAME_LIVE_P (XFRAME (kb->Vdefault_minibuffer_frame))))
+    kb->Vdefault_minibuffer_frame = frame;
+
   UNGCPRO;
 
   /* Make sure windows on this frame appear in calls to next-window
@@ -4944,6 +4944,9 @@
     *root_y = XINT (top);
   else if (*root_y + XINT (dy) - height < 0)
     *root_y -= XINT (dy);
+  else if (*root_y + XINT (dy) >= FRAME_X_DISPLAY_INFO (f)->height)
+    /* Put tip above the pointer.  */
+    *root_y -= XINT (dy);
   else
     {
       *root_y -= height;