Thu Aug 1 11:26:03 2002 Owen Taylor <otaylor@redhat.com> * gdk/gdkdisplay.[ch] gdk/gdkscreen.[ch] gdkinternals.h: Start implementing display/screen closing scheme; keep a flag for whether displays and screens are closed, call g_object_run_dispose(). Remove public gdk_screen_close(). * gdk/x11/gdkdisplay-x11.c gdk/x11/gdkscreen-x11.c: Add dispose() methods; move appropriate parts of the finalize there. * gdk/x11/gdkcolor-x11.c gdk/x11/gdkimage-x11.c gdk/x11/gdkmain-x11.c gdk/x11/gdkpango-x11.c gdk/x11/gdkpixmap-x11.c gdk/x11/gdkproperty-x11.c gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.c: Start of making everything correctly ignore operations when a display has been closed. * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations): Handle decorations == NULL. * gdk/x11/gdkcolor-x11.c (gdk_colormap_remove): Remove unnecessary hash table creation. * gdk/x11/gdkinput.c gdk/x11/gdkinput-x11.c gdk/win32/gdkinput.c Fix up gdk_device_get_history - handle events, n_events == NULL, etc. * gdk/x11/gdkproperty-x11.c (gdk_property_get): Handle failure better. * gdk/x11/gdkselection-x11.c (gdk_selection_property_get): Handle failure better, handle data == NULL, move docs here, remove an excess round trip by asking for all selection data at once. * gdk/gdkselection.c gdk/win32/{x11,win32}/gdkselection-{x11,win32}.c gdk/{x11,win32}/gdkmain-{x11,win32}.c gdk/gdkdisplay.c: Move gdk_text_property_to_text_list(), gdk_string_to_compound_text(), gdk_display_set_sm_client_id() to display-independent part of GDK. * gdk/Makefile.am (gdk_c_sources): Sort gdkdisplay/screen.[ch] into the right place.
		
			
				
	
	
		
			110 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#include "gdkproperty.h"
 | 
						|
#include "gdkdisplay.h"
 | 
						|
#include "gdkselection.h"
 | 
						|
 | 
						|
gboolean
 | 
						|
gdk_selection_owner_set (GdkWindow *owner,
 | 
						|
			 GdkAtom    selection,
 | 
						|
			 guint32    time,
 | 
						|
			 gboolean   send_event)
 | 
						|
{
 | 
						|
  return gdk_selection_owner_set_for_display (gdk_display_get_default (),
 | 
						|
					      owner, selection, 
 | 
						|
					      time, send_event);
 | 
						|
}
 | 
						|
 | 
						|
GdkWindow*
 | 
						|
gdk_selection_owner_get (GdkAtom selection)
 | 
						|
{
 | 
						|
  return gdk_selection_owner_get_for_display (gdk_display_get_default (), 
 | 
						|
					      selection);
 | 
						|
}
 | 
						|
 | 
						|
void
 | 
						|
gdk_selection_send_notify (guint32  requestor,
 | 
						|
			   GdkAtom  selection,
 | 
						|
			   GdkAtom  target,
 | 
						|
			   GdkAtom  property,
 | 
						|
			   guint32  time)
 | 
						|
{
 | 
						|
  gdk_selection_send_notify_for_display (gdk_display_get_default (), 
 | 
						|
					 requestor, selection, 
 | 
						|
					 target, property, time);
 | 
						|
}
 | 
						|
 | 
						|
gint
 | 
						|
gdk_text_property_to_text_list (GdkAtom       encoding,
 | 
						|
				gint          format, 
 | 
						|
				const guchar *text,
 | 
						|
				gint          length,
 | 
						|
				gchar      ***list)
 | 
						|
{
 | 
						|
  return gdk_text_property_to_text_list_for_display (gdk_display_get_default (),
 | 
						|
						     encoding, format, text, length, list);
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * gdk_text_property_to_utf8_list:
 | 
						|
 * @encoding: an atom representing the encoding of the text
 | 
						|
 * @format:   the format of the property
 | 
						|
 * @text:     the text to convert
 | 
						|
 * @length:   the length of @text, in bytes
 | 
						|
 * @list:     location to store the list of strings or %NULL. The
 | 
						|
 *            list should be freed with g_strfreev().
 | 
						|
 * 
 | 
						|
 * Convert a text property in the giving encoding to
 | 
						|
 * a list of UTF-8 strings. 
 | 
						|
 * 
 | 
						|
 * Return value: the number of strings in the resulting
 | 
						|
 *               list.
 | 
						|
 **/
 | 
						|
gint 
 | 
						|
gdk_text_property_to_utf8_list (GdkAtom        encoding,
 | 
						|
				gint           format,
 | 
						|
				const guchar  *text,
 | 
						|
				gint           length,
 | 
						|
				gchar       ***list)
 | 
						|
{
 | 
						|
  return gdk_text_property_to_utf8_list_for_display (gdk_display_get_default (),
 | 
						|
						     encoding, format, text, length, list);
 | 
						|
}
 | 
						|
 | 
						|
gint
 | 
						|
gdk_string_to_compound_text (const gchar *str,
 | 
						|
			     GdkAtom     *encoding,
 | 
						|
			     gint        *format,
 | 
						|
			     guchar     **ctext,
 | 
						|
			     gint        *length)
 | 
						|
{
 | 
						|
  return gdk_string_to_compound_text_for_display (gdk_display_get_default (),
 | 
						|
						  str, encoding, format, 
 | 
						|
						  ctext, length);
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * gdk_utf8_to_compound_text:
 | 
						|
 * @str:      a UTF-8 string
 | 
						|
 * @encoding: location to store resulting encoding
 | 
						|
 * @format:   location to store format of the result
 | 
						|
 * @ctext:    location to store the data of the result
 | 
						|
 * @length:   location to store the length of the data
 | 
						|
 *            stored in @ctext
 | 
						|
 * 
 | 
						|
 * Convert from UTF-8 to compound text. 
 | 
						|
 * 
 | 
						|
 * Return value: %TRUE if the conversion succeeded, otherwise
 | 
						|
 *               false.
 | 
						|
 **/
 | 
						|
gboolean
 | 
						|
gdk_utf8_to_compound_text (const gchar *str,
 | 
						|
			   GdkAtom     *encoding,
 | 
						|
			   gint        *format,
 | 
						|
			   guchar     **ctext,
 | 
						|
			   gint        *length)
 | 
						|
{
 | 
						|
  return gdk_utf8_to_compound_text_for_display (gdk_display_get_default (),
 | 
						|
						str, encoding, format, 
 | 
						|
						ctext, length);
 | 
						|
}
 | 
						|
 |