Commit d1045b68 authored by Owen Taylor's avatar Owen Taylor Committed by Owen Taylor

Use IPC_RMID _after_ doing XShmAttach. This should work everywhere, and

Mon Dec  7 13:38:06 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkimage.c (gdk_image_new): Use IPC_RMID
	_after_ doing XShmAttach. This should work everywhere,
	and avoid the need for signal handlers or configure
	checks.
parent 139e3cd4
Mon Dec 7 13:38:06 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkimage.c (gdk_image_new): Use IPC_RMID
_after_ doing XShmAttach. This should work everywhere,
and avoid the need for signal handlers or configure
checks.
Thu Dec 3 19:58:45 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkinputdialog.c: Use _add_with_viewport() for
scrolled window contents.
1998-12-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkpaned.h (struct _GtkPaned): Removed the unused cursor
......
Mon Dec 7 13:38:06 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkimage.c (gdk_image_new): Use IPC_RMID
_after_ doing XShmAttach. This should work everywhere,
and avoid the need for signal handlers or configure
checks.
Thu Dec 3 19:58:45 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkinputdialog.c: Use _add_with_viewport() for
scrolled window contents.
1998-12-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkpaned.h (struct _GtkPaned): Removed the unused cursor
......
Mon Dec 7 13:38:06 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkimage.c (gdk_image_new): Use IPC_RMID
_after_ doing XShmAttach. This should work everywhere,
and avoid the need for signal handlers or configure
checks.
Thu Dec 3 19:58:45 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkinputdialog.c: Use _add_with_viewport() for
scrolled window contents.
1998-12-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkpaned.h (struct _GtkPaned): Removed the unused cursor
......
Mon Dec 7 13:38:06 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkimage.c (gdk_image_new): Use IPC_RMID
_after_ doing XShmAttach. This should work everywhere,
and avoid the need for signal handlers or configure
checks.
Thu Dec 3 19:58:45 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkinputdialog.c: Use _add_with_viewport() for
scrolled window contents.
1998-12-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkpaned.h (struct _GtkPaned): Removed the unused cursor
......
Mon Dec 7 13:38:06 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkimage.c (gdk_image_new): Use IPC_RMID
_after_ doing XShmAttach. This should work everywhere,
and avoid the need for signal handlers or configure
checks.
Thu Dec 3 19:58:45 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkinputdialog.c: Use _add_with_viewport() for
scrolled window contents.
1998-12-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkpaned.h (struct _GtkPaned): Removed the unused cursor
......
Mon Dec 7 13:38:06 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkimage.c (gdk_image_new): Use IPC_RMID
_after_ doing XShmAttach. This should work everywhere,
and avoid the need for signal handlers or configure
checks.
Thu Dec 3 19:58:45 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkinputdialog.c: Use _add_with_viewport() for
scrolled window contents.
1998-12-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkpaned.h (struct _GtkPaned): Removed the unused cursor
......
Mon Dec 7 13:38:06 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkimage.c (gdk_image_new): Use IPC_RMID
_after_ doing XShmAttach. This should work everywhere,
and avoid the need for signal handlers or configure
checks.
Thu Dec 3 19:58:45 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkinputdialog.c: Use _add_with_viewport() for
scrolled window contents.
1998-12-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkpaned.h (struct _GtkPaned): Removed the unused cursor
......
......@@ -235,11 +235,6 @@ gdk_image_new (GdkImageType type,
return NULL;
}
#ifdef IPC_RMID_DEFERRED_RELEASE
if (x_shm_info->shmaddr != (char*) -1)
shmctl (x_shm_info->shmid, IPC_RMID, 0);
#endif
gdk_error_code = 0;
gdk_error_warnings = 0;
......@@ -260,6 +255,14 @@ gdk_image_new (GdkImageType type,
gdk_use_xshm = False;
return NULL;
}
/* We mark the segment as destroyed so that when
* the last process detaches, it will be deleted.
* There is a small possibility of leaking if
* we die in XShmAttach. In theory, a signal handler
* could be set up.
*/
shmctl (x_shm_info->shmid, IPC_RMID, 0);
if (image)
image_list = g_list_prepend (image_list, image);
......@@ -417,7 +420,6 @@ gdk_image_destroy (GdkImage *image)
x_shm_info = private->x_shm_info;
shmdt (x_shm_info->shmaddr);
shmctl (x_shm_info->shmid, IPC_RMID, 0);
g_free (private->x_shm_info);
......
......@@ -235,11 +235,6 @@ gdk_image_new (GdkImageType type,
return NULL;
}
#ifdef IPC_RMID_DEFERRED_RELEASE
if (x_shm_info->shmaddr != (char*) -1)
shmctl (x_shm_info->shmid, IPC_RMID, 0);
#endif
gdk_error_code = 0;
gdk_error_warnings = 0;
......@@ -260,6 +255,14 @@ gdk_image_new (GdkImageType type,
gdk_use_xshm = False;
return NULL;
}
/* We mark the segment as destroyed so that when
* the last process detaches, it will be deleted.
* There is a small possibility of leaking if
* we die in XShmAttach. In theory, a signal handler
* could be set up.
*/
shmctl (x_shm_info->shmid, IPC_RMID, 0);
if (image)
image_list = g_list_prepend (image_list, image);
......@@ -417,7 +420,6 @@ gdk_image_destroy (GdkImage *image)
x_shm_info = private->x_shm_info;
shmdt (x_shm_info->shmaddr);
shmctl (x_shm_info->shmid, IPC_RMID, 0);
g_free (private->x_shm_info);
......
......@@ -506,7 +506,8 @@ gtk_input_dialog_fill_axes(GtkInputDialog *inputd, GdkDeviceInfo *info)
gtk_widget_destroy (inputd->axis_list);
}
inputd->axis_list = gtk_table_new (GDK_AXIS_LAST, 2, 0);
gtk_container_add (GTK_CONTAINER (inputd->axis_listbox), inputd->axis_list);
gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (inputd->axis_listbox),
inputd->axis_list);
gtk_widget_show (inputd->axis_list);
gtk_widget_realize (inputd->axis_list);
......@@ -641,7 +642,8 @@ gtk_input_dialog_fill_keys(GtkInputDialog *inputd, GdkDeviceInfo *info)
}
inputd->keys_list = gtk_table_new (info->num_keys, 3, FALSE);
gtk_container_add (GTK_CONTAINER (inputd->keys_listbox), inputd->keys_list);
gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (inputd->keys_listbox),
inputd->keys_list);
gtk_widget_show (inputd->keys_list);
gtk_widget_realize (inputd->keys_list);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment