Commit Graph

211 Commits

Author SHA1 Message Date
Owen Taylor
64e8303a79 Call pango_x[ft]_shutdown_display().
Fri Aug  2 12:21:41 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkscreen-x11.c (gdk_screen_x11_dispose):
        Call pango_x[ft]_shutdown_display().
2002-08-02 19:19:42 +00:00
jacob berkman
184a45caff declare screen_x11 variable to fix build w/ xinerama
2002-08-02  jacob berkman  <jacob@ximian.com>

	* gdk/x11/gdkscreen-x11.c (check_xfree_xinerama): declare
	screen_x11 variable to fix build w/ xinerama
2002-08-02 16:28:29 +00:00
Owen Taylor
63489392e6 New demo for window migration between different displays and screens.
Thu Aug  1 19:09:39 2002  Owen Taylor  <otaylor@redhat.com>

	* demos/gtk-demo/changedisplay.c: New demo for
	window migration between different displays and screens.

	* gtk/gtkrc.c gtkstyle.[ch]: Add
	_gtk_style_init_for_settings(), so that gtkrc.c
	can initialize the styles it creates for the
	right display.

	* gdk/gdkdisplaymanager.c (gdk_screen_get_default)
	* gtk/gtksettings.c (gtk_settings_get_default)
	* gtk/gtkstyle.c (gtk_style_init): Handle absence of
	a default screen.

	* gdk/x11/gdkmain-x11.c (_gdk_windowing_set_default_display):
	Handle display == NULL.x

	* gdk/gdkdisplay.c (gdk_display_dispose): Free the
	event queue.

	* gdk/x11/gdkevents-x11.c gdk/x11/gdkdisplay-x11.c:
	Remove the event source when closing a display.

	* gdk/gdkdisplay.[ch]: Add a ::closed signal, dispose()
	isn't convenient enough by itself.

	* gdk/x11/gdkevents-x11.c (gdk_xsettings_watch_cb):
	Create foreign windows for watch windows if there isn't
	an existing window, instead of installing a global filter.

	* gdk/x11/gdkscreen-x11.c gdk/x11/gdkprivate-x11.h
	gdk/x11/gdkevents-x11.c (_gdk_x11_events_uninit_screen):
	Clean up the xsettings_client when we are done with
	it.

	* gdk/x11/gdkevents-x11.c (_gdk_events_init): Remove
	excess call to _gdk_x11_events_init_screen()
2002-08-01 23:43:13 +00:00
Owen Taylor
e5ae081ebe Start implementing display/screen closing scheme; keep a flag for whether
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.
2002-08-01 15:28:40 +00:00
Owen Taylor
aeaaae04ac Changes multihead reorganizing code for win32 support, mostly from a patch
Wed Jun  5 18:34:47 2002  Owen Taylor  <otaylor@redhat.com>

	Changes multihead reorganizing code for win32 support,
	mostly from a patch by Hans Breuer.

	* gdk/gdkcolor.c gdk/x11/gdkcolor-x11.c gdk/gdkcursor.c
	  gdk/x11/gdkcursor-x11.c gdk/gdkevents.c gdk/x11/gdkevents-x11.c
	  gdk/gdkfont.c gdk/x11/gdkfont-x11.c gdk/gdkkeys.c
	  gdk/x11/gdkkeys-x11.c gdk/gdkimage.c gdk/x11/gdkimage-x11.c
	  gdk/gdkscreen.c gdk/x11/gdkmain-x11.c
	  gdk/gdkdisplay.c gdk/gdkevents-x11.c gdk/gdkpango.c
	  gdk/x11/gdkpango-x11.c gdk/gdkselection.c
	  gdk/x11/gdkselection-x11.c gdk/gdkwindow.c
	  gdk/x11/gdkwindow-x11.c gdk/gdkvisual.c gdk/x11/gdkvisual-x11.c:
	  Move port-independent singlehead wrapper functions into
	  port-independent part of GDK. (#80009)

	* gdk/win32/gdkcolor-win32.c gdk/win32/gdkcursor-win32.c
	  gdk/win32/gdkevents-win32.c gdk/win32/gdkfont-win32.c
	  gdk/win32/gdkimage-win32.c gdk/win32/gdkkeys-win32.c
	  gdk/win32/gdkmain-win32.c gdk/win32/gdkproperty-win32.c
	  gdk/win32/gdkselection-win32.c gdk/win32/gkwindow-win32.c:
	Turn singlehead functions into "multihead" functions that ignore
	their GdkDisplay or GdkScreen arguments.

	* gdk/win32/gdkdrawable-win32.c gdk/win32/gdkevents-win32.c
	gdk/win32/gdkinput-win32.c gdk/win32/gdkprivate-win32.h:
	Misc multihead-compatibility changes.

	* gtk/gtk.def gdk/gdk.def: Update for multihead functions.

	* gdk/gdkcolormap.h gdk/gdkvisual.h gdk/x11/gdkcolormap-x11.c
	gdk/x11/gdkvisual-x11.c: Remove the screen fields
	from the public parts of the colormap/visual structures, add accessors
	instead.

	* gdk/gdkpixbuf-render.c gdk/gdkpixmap.c gdk/gdkrgb.c
	  gdk/x11/gdkcolormap-x11.c gdk/x11/gdkimage-x11.c
	  gdk/x11/gdkimage-x11.c gdk/x11/gdkprivate-x11.h gtk/gtkgc.c
	  gtk/gtkstyle.c gtk/gtkwidget.c: Use accessors to get the screen
	for colormaps, visuals; move the fields into the private
	structures for the x11 backend.

	* gdk/gdkdisplay.[ch] gdk/x11/gdkdisplay-x11.[ch]
	  gdk/gdkscreen.[ch] gdk/x11/gdkscreen-x11.c:
	Remove virtualization of screen and display functions.
	(#79990, patch from Erwann Chenede)

	* gdk/win32/gdkdisplay-x11.c gdk/win32/gdkscreen-win32.c
	gdk/win32/{Makefile.am, makefile.msc, makefile.mingw}:
	New files containing stub implementations of Display,
	Screen functions.

	* gdk/x11/gdkscreen-x11.[ch] gdk/x11/gdkdisplay-x11.[ch]
	gdk/x11/gdkx.h: Clean up function exports and what
	headers they are in. (#79954)

	* gdk/x11/gdkx.h: Fix macro that was referring to a non-existant
	screen->screen_num. (In the patch for #79972, Erwann Chenede)

	* gdk/gdkscreen.c gdk/gdkwindow.c gdk/x11/gdkinternals.h
	 gdk/x11/gdkscreen-x11.c: Fix gdk_screen_get_window_at_pointer()
	to use window hooks. (#79972, patch partly from Erwann Chenede)

	* gdk/x11/gdkdisplay-x11.c gdk/x11/gdkevents-x11.c: Fix
	some warnings.
2002-06-06 00:26:42 +00:00
Erwann Chenede -
7fa24a2f2c Rationalized the screen initialization process, changed the GdkDisplayX11
2002-05-03 Erwann Chenede - <erwann.chenede@sun.com>

  * gdk/x11/gdkvisual-x11.c:
  * gdk/x11/gdkwindow-x11.c:
  * gdk/x11/gdkdisplay-x11.[hc] (gdk_open_display) :
  Rationalized the screen initialization process,
  changed the GdkDisplayX11 screen list to an array.

  * gdk/x11/gdkscreen-x11.[hc] (_gdk_x11_screen_new) :
  Moved the xinerama init functions to gdkdisplay-x11.c to
  this file, create a single function to fully initialize
  a GdkScreen. #79981
2002-05-03 19:03:03 +00:00
Matthias Clasen
7b168e71eb Doc updates. 2002-05-02 22:28:50 +00:00
Erwann Chenede -
1258d17943 make gdk_screen_get_monitor_at_point cross platform instead of backend
2002-05-02 Erwann Chenede - <erwann.chenede@sun.com>

  * gdk/gdkscreen.c (gdk_screen_get_monitor_at_point):
  * gdk/gdkscreen.h :
  * gdk/x11/gdkscreen-x11.c :
  make gdk_screen_get_monitor_at_point cross platform instead
  of backend dependant. #80480
  * tests/testxinerama.c (main):
  changed the warning message.
2002-05-02 16:18:24 +00:00
Erwann Chenede -
94076bc353 removed unneeded ref. #79977
2002-05-02 Erwann Chenede - <erwann.chenede@sun.com>

  * gdk/x11/gdkscreen-x11.c (gdk_screen_x11_get_root_window):
  removed unneeded ref. #79977
  * gdk/x11/gdkscreen-x11.[hc] (gdk_screen_use_virtual_screen):
  * gdk/x11/gdkdisplay-x11.c (check_*_xinerama):
  removed gdk_screen_use_virtual_screen function and
  use_virtual_screen member variable from GdkScreenX11. #79957
2002-05-02 10:38:27 +00:00
Erwann Chenede -
2325caf979 remove virtualization and made it cross platform. fix #79961 fixed
2002-05-01 Erwann Chenede - <erwann.chenede@sun.com>

  * gdk/gdkscreen.[hc] (gdk_screen_x11_get_monitor_at_window):
    remove virtualization and made it cross platform. fix #79961
  * gdk/x11/gdkdisplay-x11.c (check_solaris_xinerama):
    fixed initialization bugs.
  * gdk/x11/gdkscreen-x11.[hc] (gdk_screen_get_monitor_geometry):
  * tests/testxinerama.c:
  * gtk/gtkwindow.c (gtk_window_compute_configure_request):
  * gtk/gtkmenu.c (gtk_menu_position):
    take a GdkRectangle argument instead of returning
    a GdkRectangle * and propagated the changes. fix #79974
2002-05-01 17:22:54 +00:00
Owen Taylor
425b9886c9 Start of integration of Erwann Chenede's multihead work from the
Thu Apr 25 16:51:40 2002  Owen Taylor  <otaylor@redhat.com>

        Start of integration of Erwann Chenede's multihead work
        from the gtk-multihead branch.

        * gdk/gdkdisplay.[ch] gdk/gdkscreen.[ch]
        gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkscreen-x11.[ch]
        New classes representing a set of screens with attached
        input devices and a single contiguous area, respectively.

        * gdk/gdk.[ch] gdk/gdkinternals.h gdk/x11/gdkmain-x11.c:
        gdk/x11/gdkprivate-x11.h: Make the initialization interface
        simple _gdk_windowing_init() and do the rest in
        gdk_open_display() calls.

        * gdk/gdk.[ch]: Add gdk_parse_args() which can be used
        to do the display-independent part of initialization
        instead of gdk_init_[check].

        * gdk/gdkcursor.h gdk/gdkfont.h gdk/gdkkeys.h gdk/gdkpixmap.h
        gdk/gdkproperty.h gdk/gdkselection.h gdk/gdkwindow.h:
        Add multihead variants (_for_display(), for_screen()) of functions
        getting information specific to a particular screen screen or
        display.

        * gdk/gdkscreen.[ch]: Add gdk_screen__* variants of functions
        like gdk_rgb_get_colormap() that used to get/list global
        objects.

        * gdk/x11/gdkx.h: Add functions for converting GdkScreen
        and GdkDisplay into the X equivalents.

        * gdk/x11/gdkwindow-x11.c: Removed gdk_window_xid_at_coords()
        not in the headers and unused.

        * configure.in gdk/x11/{gxid.c,gxid_lib.[ch],gdkinput-gxi.c}:
        Remove gxid support ... has not been tested for a long time...
        "xfree" support is more portable to non XFree86.

        * gdk/**.h: Add a GDK_MULTIHEAD_SAFE define that can be
        used to turn off functions that are inherently non-multihead
        safe.

        * gdk/**.c: add GDK_NOTE(multihead, ...) calls when functions
        are used in non-multihead-safe ways.

        * gdk/*.c gdk/x11/*.c: Changes to make the internals of GDK
        multihead safe.
2002-04-25 22:29:14 +00:00