1. 06 Jun, 2003 1 commit
  2. 05 Jun, 2003 1 commit
    • Tor Lillqvist's avatar
      Handle global filters. · 72a70cb6
      Tor Lillqvist authored
      2003-06-05  Tor Lillqvist  <tml@iki.fi>
      	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle global
  3. 27 May, 2003 1 commit
    • Matthias Clasen's avatar
      Remove dubious bitfields of unspecified signedness. (#112919, Morten · 83c626bb
      Matthias Clasen authored
      2003-05-27  Matthias Clasen  <maclas@gmx.de>
      	* io-wbmp.c: Remove dubious bitfields of
      	unspecified signedness.  (#112919, Morten Welinder)gdk-p
      	* gdk-pixdata.c (gdk_pixdata_to_csource): Replace all occurances
      	of g_string_new ("") by g_string_new (NULL). (#106975, Morten Welinder)
      	* gtk/gtkwindow-decorate.c:
      	* gtk/gtktreeprivate.h:
      	* gtk/gtkdnd.c:
      	* gdk/win32/gdkwindow-win32.h:
      	* gdk/linux-fb/gdkprivate-fb.h:
      	* gdk/linux-fb/gdkkeyboard-fb.c: Remove dubious bitfields of
      	unspecified signedness.  (#112919, Morten Welinder)
      	* gtk/queryimmodules.c (escape_string):
      	* gtk/gtktextbtree.c (_gtk_text_btree_get_text):
      	* gtk/gtksettings.c (_gtk_settings_parse_convert):
      	* gtk/gtkrc.c (gtk_rc_parse_assignment):
      	* gtk/gtkinputdialog.c (gtk_input_dialog_set_key):
      	* gdk/x11/gdkdisplay-x11.c (escape_for_xmessage): Replace all
      	occurances of g_string_new ("") by g_string_new (NULL). (#106975,
      	Morten Welinder)
  4. 06 May, 2003 2 commits
    • Owen Taylor's avatar
      Patch from James Henstridge to update to automake-1.7 (#109542) · 629a0e14
      Owen Taylor authored
      Tue May  6 16:50:52 2003  Owen Taylor  <otaylor@redhat.com>
              Patch from James Henstridge to update to automake-1.7
              * autogen.sh: update to call newer tools.
              * configure.in: various updates, to use M4 macros to put
              variables that change each release at the top.
              Use AC_HELP_STRING to format help strings.
              Use AC_CONFIG_COMMANDS to generate gdkconfig.h.
              * Makefile.am: require Automake 1.7.  Remove gdk-2.0.pc and
              gtk+-2.0.pc on uninstall.  Pass --enable-gtk-doc to configure
              during distcheck.
              * docs/reference/*/Makefile.am: simplify to use the gtk-doc.make
              makefile fragment.
              * */Makefile.am: don't use STRIP_BEGIN/STRIP_END.
              Use BUILT_SOURCES where appropriate.
              Build generated files in builddir rather than srcdir.
              Fix uninstall and distclean targets to satisfy distcheck.
              * gdk/*/Makefile.am: Remove the hacks to get gdkenumtypes.h
              built first, since we are now using BUILT_SOURCES.
              * gdk/Makefile.am: Remove an outdated comment about gdk_headers.
              * demos/gtk-demo/Makefile.am: Fix srcdir != buildd problem
              with geninclude.pl.
              * configure.in: Update versions to 2.3.0.
    • Tor Lillqvist's avatar
      Fix for #110165 (thanks to Arnaud Charlet): · 2e58122c
      Tor Lillqvist authored
      2003-05-06  Tor Lillqvist  <tml@iki.fi>
      	Fix for #110165 (thanks to Arnaud Charlet):
      	* gdk/win32/gdkevents-win32.c (build_keypress_event,
      	build_keyrelease_event): For unshifted control char, use
      	lowercase ASCII keyval.
      	(gdk_event_translate): Similarily, when handling WM_SYSKEYDOWN and
      	UP (i.e. Alt-something), if it's an unshifted ASCII letter, use
      	lowercase keyval. Use build_key_event_state() here, too, instead
      	of minor code duplication.
  5. 15 Mar, 2003 1 commit
    • Tor Lillqvist's avatar
      Use the signed GET_X_LPARAM() and GET_Y_LPARAM() to extract x and y · 935dca85
      Tor Lillqvist authored
      2003-03-14  Tor Lillqvist  <tml@iki.fi>
      	* gdk/win32/gdkevents-win32.c: Use the signed GET_X_LPARAM() and
      	GET_Y_LPARAM() to extract x and y coordinates from an LPARAM or
      	DWORD, and not the unsigned HIWORD() and LOWORD(). Systems with
      	multiple monitors can have negative coordinates on some of the
      	monitors. (partial fix for #99496, Arnaud Charlet)
  6. 13 Mar, 2003 2 commits
    • Tor Lillqvist's avatar
      On WM_MOUSEMOVE, the test whether we have actually moved (and thus · b2698b3a
      Tor Lillqvist authored
      2003-03-13  Tor Lillqvist  <tml@iki.fi>
      	* gdk/win32/gdkevents-win32.c (gdk_event_translate): On
      	WM_MOUSEMOVE, the test whether we have actually moved (and thus
      	shouldn't generate an GDK event) moved after the call to
      	propagate() and translate_mouse_coords(). Otherwise we were
      	testing wrong values. (#108115, Allin Cottrell)
      	(gdk_event_translate): On WM_?BUTTONUP, set current_{x,y} the same
      	way as in WM_?BUTTONDOWN and WM_MOUSEMOVE.
    • Tor Lillqvist's avatar
      if a grab cursor is used, must copy the HCURSOR with CopyCursor(), as it · 1e072f62
      Tor Lillqvist authored
      2003-03-13  Tor Lillqvist  <tml@iki.fi>
      	* gdk/win32/gdkevents-win32.c (gdk_pointer_grab): if a grab cursor
      	is used, must copy the HCURSOR with CopyCursor(), as it is OK to
      	destroy the GdkCursor after calling gdk_pointer_grab(). Set the
      	cursor right away with SetCursor(), as we won't get any
      	WM_SETCURSOR messages while the mouse is captured.
      	(gdk_display_pointer_ungrab): Correspondingly, destroy the copy
      	with DestroyCursor() when no longer used. (#108114, Allin Cottrell)
      	* gdk/win32/gdkevents-win32.c (gdk_event_translate): On
      	WM_SYSCHAR, return FALSE from the window procedure to prevent the
      	DefWindowProc from being called. Otherwise Windows would beep,
      	thinking you are tring to access a (nonexistent) menu when you
      	press Alt-something. Don't do this for Alt-Space,
      	though. (#107454, Martyn Russell)
      	* gdk/win32/gdkcursor-win32.c: Minor spacing and debug print fixes.
  7. 09 Mar, 2003 1 commit
  8. 08 Mar, 2003 2 commits
    • Matthias Clasen's avatar
      Bug #107664 continued: · 3db24eb8
      Matthias Clasen authored
      2003-03-08  Matthias Clasen  <maclas@gmx.de>
      	Bug #107664 continued:
      	* gdk/x11/gdkinputprivate.h:
      	* gdk/x11/gdkinput-none.c (_gdk_input_window_none_event): Remove.
      	(_gdk_input_other_event): Return gboolean.
      	* gdk/x11/gdkinput-xfree.c (_gdk_input_window_none_event): Remove.
      	(_gdk_input_other_event): Return gboolean.
      	* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): Return gboolean.
      	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Make return_val
      	gboolean, remove pointless call to _gdk_input_window_none_event.
      	* gdk/win32/gdkinput-win32.[hc] (_gdk_input_other_event): Return gboolean.
      	(_gdk_input_window_none_event): Remove.
      	* gtk/gtktextiter.c (_gtk_text_iter_get_indexable_segment):
      	(_gtk_text_iter_get_btree): Fix 0/NULL confusion.
      	* gdk/x11/gdkdnd-x11.c (motif_target_table_check): Return gint.
      	* gdk/win32/gdkfont-win32.c (gdk_font_equal):
      	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_get_deskrelative_origin):
      	* gdk/linux-fb/gdkcolor-fb.c (gdk_colors_alloc): Fix 0/FALSE confusion.
    • Matthias Clasen's avatar
      Trivial cleanups (bug #107664) · d03b2741
      Matthias Clasen authored
  9. 01 Feb, 2003 1 commit
    • Tor Lillqvist's avatar
      Merge from stable: · ec9429b8
      Tor Lillqvist authored
      2003-02-01  Tor Lillqvist  <tml@iki.fi>
      	Merge from stable:
      	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_foreign_new_for_display,
      	gdk_pixmap_lookup, gdk_pixmap_lookup_for_display): Implement.
      	(#104108, Naofumi Yasufuku)
      	* gdk/gdk.def: Export the above. Export
      	gdk_screen_get_system_visual, noticed by Ed Woods.
  10. 19 Jan, 2003 1 commit
    • Tor Lillqvist's avatar
      Merge from stable: · d867b9a8
      Tor Lillqvist authored
      2003-01-19  Tor Lillqvist  <tml@iki.fi>
      	Merge from stable:
      	Fix for #103614 and some other problems with GtkFileSelection on
      	* gtk/fnmatch.c (get_char): Need to use g_unichar_tolower(), not
      	g_ascii_tolower(). Windows file names are case-insensitive for all
      	Unicode letters.
      	* gtk/gtkfilesel.c: Instead of checking for G_OS_WIN32 or
      	G_WITH_CYGWIN, check G_PLATFORM_WIN32. Move inclusion of gtkintl.h
      	earlier, as it includes config.h unconditionally, and gtkprivate.h
      	redefines GTK_LOCALEDIR.
      	(struct _CompletionDirSent): Ifdef out the fields not used on
      	(compare_utf8_filenames, compare_sys_filenames): Need different
      	comparison implementation for UTF-8 file names and system locale
      	file names on Win32. Cannot simply use g_ascii_strcasecmp(), but
      	need to casefold all Unicode letters.
      	(cmpl_completion_matches, open_dir, correct_parent): Ifdef out
      	variables not used on Win32 to avoid warnings about unused
      	(open_ref_dir): Use g_path_skip_root() to skip past potential
      	drive letter in front of the leading (back)slash.
      	(open_new_dir): Ifdef out use of CompletionDirSent fields not
      	there on Win32.
      	(correct_parent): Bypass inode check also on Cygwin.
      	Fix bug noticed by Alex Shaduri: Tooltips and other
      	GDK_WINDOW_TEMP windows were activated. This looked very odd, and
      	was a regression from earlier versions.
      	* gdk/win32/gdkwindow-win32.c (show_window_internal): Fine-tune
      	behaviour. Don't ever activate GDK_WINDOW_TEMP windows.
      	(gdk_window_move, gdk_window_resize): Add debug logging.
      	* gdk/win32/gdkevents-win32.c (gdk_event_translate): When we get a
      	WM_SIZE message for a non-visible (withdrawn) window, don't clear
      	the GDK_WINDOW_STATE_WITHDRAWN bit. The window is still withdrawn
      	even if its size changes.
  11. 12 Jan, 2003 1 commit
    • Tor Lillqvist's avatar
      Merge from stable: · 4a3c812b
      Tor Lillqvist authored
      2003-01-12  Tor Lillqvist  <tml@iki.fi>
      	Merge from stable:
      	* gtk/gtkmain.c: Move inclusion of config.h and gtkintl.h earlier,
      	as gtkprivate.h redefines GTK_LOCALEDIR on Win32, for run-time
      	* gdk/Makefile.am (libgdk_win32_2_0_la_DEPENDENCIES): Depend on
      	* gdk/gdk.def
      	* gtk/gtk.def: Add some missing entries. Thanks to Kenichi SUTO.
      	* gtk-zip.sh.in (DEVZIP): Add bin/{gtk-query-immodules-2.0,
      	gtk-demo}.exe and share/gtk-2.0.
      	* gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint):
      	Implement by setting or clearing the WS_EX_TOOLWINDOW extended
      	window style.
      	(gdk_window_set_type_hint): Add all cases to the switch (not all
      	do anything, though). Handle GDK_WINDOW_TYPE_HINT_TOOLBAR by
      	calling gdk_window_set_skip_taskbar_hint(). This means that GTK
      	won't know that the skip_taskbar hint is on for the window, is
      	this bad?
  12. 05 Jan, 2003 1 commit
    • Tor Lillqvist's avatar
      Use correct DLL and import library names, with GTK_API_VERSION in name, · 0973b993
      Tor Lillqvist authored
      2003-01-05  Tor Lillqvist  <tml@iki.fi>
      	* gtk-zip.sh.in: Use correct DLL and import library names, with
      	(DEVZIP): Add gdk-pixbuf-query-loaders.exe.
      	* configure.in: Improve check for dimm.h.
      	* configure.in: Set SOEXT to 'so' on Unix, 'dll' on Win32. Used in
      	* gdk-pixbuf/makefile.mingw.in
      	* gdk-pixbuf/pixops/makefile.mingw.in
      	* gdk/makefile.mingw.in
      	* gdk/win32/makefile.mingw.in
      	* gtk/makefile.mingw.in: Remove. Not maintained anyway.
      	* gdk-pixbuf/Makefile.am
      	* gdk-pixbuf/pixops/Makefile.am
      	* gdk/Makefile.am
      	* gdk/win32/Makefile.am
      	* gtk/Makefile.am
      	* configure.in: Remove makefile.mingw{,.in} from here, too.
      	* README.win32: Updates. Don't mention the now removed
      	makefile.mingw files.
      	* gdk/gdk.def
      	* gtk/gtk.def: Add a couple of missing entries.
      	* gdk/gdkkeynames.c: Include <string.h> for strcmp() and memcpy().
      	* gdk/win32/gdkevents-win32.c: Move dimm.h header clash workaround
      	* gdk/win32/rc/Makefile.am: Add hack to help
      	build/win32/lt-compile-resource decide which kind of libtool
      	object file to produce.
  13. 21 Dec, 2002 1 commit
    • Tor Lillqvist's avatar
      Move the code that sets the window style and extended window style, and · eee70b81
      Tor Lillqvist authored
      2002-12-21  Tor Lillqvist  <tml@iki.fi>
      	* gdk/win32/gdkwindow-win32.c (gdk_window_new): Move the code that
      	sets the window style and extended window style, and adjusts the
      	width and height to take the window decorations into account
      	earlier. The adjusted width and height used to be ignored. Remove
      	the local x, y, width and height variables, no need to further
      	confuse the code by having local copies. (Partial fix, I hope, for
      	(gdk_window_move): When moving top-level windows, take title bar
      	and border width into account, offsetting the coordinates before
      	calling SetWindowPos().
      	(gdk_window_set_decorations, gdk_window_set_functions):
      	Reimplement, taking into account the peculiar semantics of
      	GDK_DECOR_ALL and GDK_FUNC_ALL. (#79036)
      	(gdk_window_get_decorations): Implement. (#98981)
      	(gdk_window_set_type_hint): When setting
      	GDK_WINDOW_TYPE_HINT_MENU, call	gdk_window_set_decorations().
      	* gdk/gdk.def: Add gdk_window_get_decorations. (#98981)
  14. 17 Dec, 2002 1 commit
    • Tor Lillqvist's avatar
      Minor cosmetics. · 7ed6dc1d
      Tor Lillqvist authored
      2002-12-17  Tor Lillqvist  <tml@iki.fi>
      	* gdk/win32/gdkglobals-win32.c: Minor cosmetics.
      	Implement two missing functions (#101369)
      	* gdk/win32/gdkevents-win32.c
      	(gdk_display_add_client_message_filter): Implement by calling
      	gdk_add_client_message_filter(), no separate displays on Windows,
      	at least not yet.
      	* gdk/win32/gdkgc-win32.c (gdk_gc_get_screen): Implement by
      	returning the only screen so far, _gdk_screen.
  15. 15 Dec, 2002 1 commit
    • Matthias Clasen's avatar
      Use g_printf instead of system printf. (#99327) · 8ba71578
      Matthias Clasen authored
      2002-12-15  Matthias Clasen  <maclas@gmx.de>
      	* gtk/gtkcalendar.c:
      	* gtk/gtkfilesel.c:
      	* gtk/gtkfontsel.c:
      	* gtk/gtkhruler.c:
      	* gtk/gtkinputdialog.c:
      	* gtk/gtkprogress.c:
      	* gtk/gtktreemodel.c:
      	* gtk/gtkvruler.c:
      	* gtk/queryimmodules.c:
      	* gtk/theme-bits/decompose-bits.c:
      	* gdk-pixbuf/gdk-pixbuf-csource.c:
      	* gdk-pixbuf/make-inline-pixbuf.c:
      	* gdk-pixbuf/queryloaders.c:
      	* gdk/gdkkeynames.c:
      	* gdk/gdkrgb.c:
      	* gdk/linux-fb/gdkfbmanager.c:
      	* gdk/win32/gdkevents-win32.c:
      	* gdk/win32/gdkmain-win32.c:
      	* gdk/win32/gdkproperty-win32.c:
      	* gdk/x11/gdkmain-x11.c: Use g_printf instead of system
      	printf.  (#99327)
  16. 11 Dec, 2002 1 commit
    • Tor Lillqvist's avatar
      gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new, gdk_bitmap_create_from_data, · 5fc015b4
      Tor Lillqvist authored
      2002-12-11  Tor Lillqvist  <tml@iki.fi>
      	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new,
      	gdk_bitmap_create_from_data, gdk_pixmap_create_from_data)
      	* gdk/win32/gdkprivate-win32.h
      	* gdk/win32/gdkimage-win32.c (_gdk_win32_setup_pixmap_image):
      	Functions now take a GdkDrawable instead of GdkWindow parameter,
      	like in X11 and linux-fb backends (#100780)
      	* gdk/win32/gdkwindow-win32.c (get_default_title): Do use
      	g_get_application_name() (I now have a fresh enough GLib).
  17. 09 Dec, 2002 1 commit
    • Tor Lillqvist's avatar
      Merge from stable: · af9b53fc
      Tor Lillqvist authored
      2002-12-09  Tor Lillqvist  <tml@iki.fi>
      	Merge from stable:
      	* gdk/win32/gdkdrawable-win32.c (generic_draw): Don't leak
      	stipple_gc. More checks for errors. Use correct ternary ROP when
      	blitting the foreground into the tile pixmap onto those pixels
      	where the stipple is set. (I didn't notice that I had used the
      	wrong one, as it didn't matter on Win2k, where DIB sections
      	apparently are zeroed upon creation. But on Win98 they have random
      	initial contents. Thanks to Hans Breuer for reporting this.)
      	(gdk_win32_draw_rectangle, gdk_win32_draw_arc,
      	gdk_win32_draw_polygon): Don't pass the LINE_ATTRIBUTES bits to
      	generic_draw() if drawing a filled figure.
      	* gdk/win32/gdkmain-win32.c (_gdk_win32_print_dc): Minor cosmetics.
      	(_gdk_win32_gcvalues_mask_to_string): Initialize buffer as empty.
      	(_gdk_win32_window_state_to_string): New debugging output helper
      	* gdk/win32/gdkevents-win32.c: Minor debugging output changes.
      	(gdk_event_translate): Ignore the WM_SHOWWINDOW/SW_OTHERUNZOOM or
      	SW_OTHERZOOM messages. Do not generate a GDK_UNMAP event for
      	WM_SIZE/SIZE_MINIMIZED messages, they do not really corrspond to
      	unmapping on X11. Set window state correctly for all three of
      	SIZE_{MINIMIZED,MAXIMIZED,RESTORED}. A maximized and then iconified
      	("minimized" in Windows terminology) window still has the
      	"maximized" property, i.e. when deiconified, it will reappear as
      	maximized. (#10557)
      	* gdk/win32/gdkprivate-win32.h: Declare new function.
      	__PRETTY_FUNCTION__ if __GNUC__ >= 3, to avoid warning message.
      	* gdk/win32/gdkwindow-win32.c (show_window_internal): Handle more
      	situations. Add parameter to tell whether deiconifying. Code
      	reorg: Return early when appropriate instead of using nested if
      	statements. If just deiconifying without raising, restore active
      	window. (#10557)
      	(gdk_window_hide, gdk_window_withdraw, gdk_window_iconify,
      	gdk_window_deiconify, gdk_window_maximize, gdk_window_unmaximize,
      	gdk_window_focus): Use _gdk_win32_window_state_to_string() in
      	debugging output.
      	(gdk_window_iconify): Restore active window after calling
      	ShowWindow(). Otherwise the "next" window gets activated.
      	(gdk_window_stick, gdk_window_unstick): Don't output any warnings.
      	(gdk_window_set_transient_for): Rewrite. Just call SetWindowLong()
      	with GWL_HWNDPARENT, which despite its name sets the *owner*
      	window, which should be exactly what we want. The PSDK
      	documentation is said to be misleading. testgtk's modal window
      	test now works much better. (#50586)
  18. 06 Dec, 2002 1 commit
    • Eric Warmenhoven's avatar
      Fix gdkenumtypes.h hack · 9310fe53
      Eric Warmenhoven authored
      Thu Dec  5 16:01:14 2002  Eric Warmenhoven <eric@warmenhoven.org>
      	* gdk/{linux-fb,win32}/Makefile.am: Fix gdkenumtypes.h hack
  19. 25 Nov, 2002 2 commits
    • Owen Taylor's avatar
      Fixes from #98358, Havoc Pennington. · a1f5e821
      Owen Taylor authored
      Mon Nov 25 17:44:09 2002  Owen Taylor  <otaylor@redhat.com>
              Fixes from #98358, Havoc Pennington.
              * gdk/{x11,win32,linux-fb}/gdkcolor-*.c (gdk_colormap_finalize):
              Free the private structure.
              * gdk/x11,win32,linxu-fb}/gdkscreen-*.c (gdk_screen_set_default_colormap):
                gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init):
              Keep a ref to the default colormap.
              * gdk/x11/gdkscreen-x11.c (gdk_screen_x11_dispose): Unref
              the default colormap.
              * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
              Handle the CMAP == NULL case even when the window is
              * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init):
              Add a missing ref for the system colormap.
    • Tor Lillqvist's avatar
      Enclose in #ifdef G_ENABLE_DEBUG, as they use functions only available · 8c782e73
      Tor Lillqvist authored
      2002-11-25  Tor Lillqvist  <tml@iki.fi>
      	* gdk/win32/gdkevents-win32.c (print_event_state,
      	print_window_state, print_event): Enclose in #ifdef
      	G_ENABLE_DEBUG, as they use functions only available with
      	G_ENABLE_DEBUG, and are called only when G_ENABLE_DEBUG. (#99494,
      	Arnaud Charlet)
  20. 24 Nov, 2002 1 commit
    • Tor Lillqvist's avatar
      Merge from stable: · 08fc500e
      Tor Lillqvist authored
      2002-11-24  Tor Lillqvist  <tml@iki.fi>
      	Merge from stable:
      	Implement tiles and stipples for all drawing methids (except the
      	deprecated draw_text() and draw_text_wc()).
      	* gdk/win32/gdkdrawable-win32.c: Remove the already ifdeffed-out
      	code that didn't use generic_draw().
      	(generic_draw): When drawing into the mask (for tiled/stippled
      	fill styles), copy the line attributes from the actual GC. Also
      	ask for text drawing setup if needed. Use differently set up HDCs
      	in the normal and tiled/stippled cases.
      	(draw_lines, gdk_win32_draw_lines, draw_polygon,
      	gdk_win32_draw_polygon, draw_segments, gdk_win32_draw_segments,
      	draw_arc, gdk_win32_draw_arc): Use generic_draw(), thus
      	implementing tiled and stippled fill styles for lines, polygons,
      	segments, and args.
      	(gdk_win32_draw_points): Use Rectangle() instead of
      	SetPixel(). Rectangle() uses the function (raster op) set for the
      	HDC, SetPixel() doesn't.
      	(widen_bounds): New function, refactoring.
      	* gdk/win32/gdkgc-win32.c: Remove ifdeffed-out code.
      	(predraw_set_foreground, gdk_win32_hdc_get): Some code moved
      	around. Call SetROP2() only if necessary. Call SetTextColor() only
      	if GDK_GC_FOREGROUND flag present. Don't handle
      	GDK_OPAQUE_STIPPLED here, has been superseded by the code in
      	generic_draw(). Always create a solid brush.
      	Remove background color handling from here. The background color
      	of a GdkGC is supposed to affect only GDK_OPAQUE_STIPPLED fill
      	style, which it is already handled in generic_draw(), and
      	GDK_LINE_DOUBLE_DASH lines, which aren't implemented properly
      	anyway. Calling SetBkColor() is unnecessary as we always use
      	TRANSPARENT text output.
      	(gdk_win32_hdc_get, gdk_win32_hdc_release): Add doc comments, as
      	these are public functions.
      	* gdk/win32/gdkevents-win32.c (synthesize_expose_events): Don't
      	synthesize expose events for GDK_INPUT_ONLY windows.
      	(gdk_event_translate): On WM_SIZE, call
      	gdk_synthesize_window_state() if window was iconified, restored or
      	maximized. (#98983, Arnaud Charlet)
      	* gtk+/gdk/win32/gdkwindow-win32.c
      	(gdk_window_get_frame_extents): Fix typo in setting y.  (#98983,
      	Arnaud Charlet)
  21. 16 Nov, 2002 2 commits
    • Tor Lillqvist's avatar
      Add missing entries, needed by gtk. · 36a56b08
      Tor Lillqvist authored
      2002-11-16  Tor Lillqvist  <tml@iki.fi>
      	* gdk/gdk.def: Add missing entries, needed by gtk.
      	* gdk/win32/gdkcolor-win32.c (gdk_screen_get_system_colormap):
      	Remove g_return_val_if_fail call. This function is called from
      	gdk_display_open() with the _gdk_screen it just created, but when
      	gdk_screen_get_default() still returns NULL.
      	* gdk/win32/gdkdisplay-win32.c
      	* gdk/win32/gdkscreen-win32.c: Make more like the linux-fb
      	versions. For instance, don't call
      	gdk_display_manager_set_default_display() from gdk_display_open().
      	* gdk/win32/gdkglobals-win32.c: Move _gdk_display, _gdk_screen and
      	_gdk_parent_root here.
      	* gdk/win32/gdkinput.c (gdk_display_list_devices): New function.
      	* gdk/win32/gdkmain-win32.c (gdk_get_display): New function.
      	* gdk/win32/gdkvisual-win32.c (gdk_screen_get_system_visual):
      	Don't require that the screen parameter is non-NULL. It can be,
      	and the linux-fb version doesn't check either.
      	* gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint,
      	gdk_window_set_skip_pager_hint, gdk_window_fullscreen,
      	gdk_window_unfullscreen): Implement as no-ops.
    • Tor Lillqvist's avatar
      Reflect recent renamings and removals of functions. · fda3e296
      Tor Lillqvist authored
      2002-11-15  Tor Lillqvist  <tml@iki.fi>
      	* gdk/gdk.def: Reflect recent renamings and removals of functions.
      	Merge from stable:
      	Start implementing all fill styles (i.e. tiled, stippled, and
      	opaque stippled in addition to the plain solid style) in the Win32
      	backend in an elegant and generic way. For now only did the
      	draw_rectangle() and draw_glyphs() methods. The rest will
      	follow. Previously some of the drawing methods implemented opaque
      	stippling, but not tiles or non-opaque stippling.
      	Seems to work fine, now the check marks show up in check buttons,
      	the stippled background and stippled text in gtk-demo's Text
      	Widget look as they should, and GtkText's line wrap arrow shows
      	correctly instead of an ugly rectangle. [This refers to the stable
      	branch, haven't actually checked HEAD.]
      	The implementation does do a lot of pixmap handling and blitting
      	back and forth, especially on Win9x. But performance is hopefully
      	not an issue. I don't think many applications do a lot of tiled or
      	stippled drawing.
      	* gdk/win32/gdkprivate-win32.h: Define a new macro, GDI_CALL, that
      	calls a GDI function and prints a warning if it failed. Also
      	API_CALL for non-GDI calls. Cleans all the the if (!BlaBla())
      	WIN32_GDI_FAILED ("BlaBla") snippets, these can now be written
      	GDI_CALL (BlaBla, ()). Declare new functions.
      	* gdk/win32/gdkdrawable-win32.c: Use GDI_CALL macro in lots of places.
      	(generic_draw): New function that handles all the blitting
      	necessary to implement tiles and stipples. A function that
      	actually draws stuff is passed as a parameter to
      	generic_draw(). If the fill style is solid, it is called
      	directly, to draw on the destination drawable. Otherwise it is
      	called to draw on a temporary mask bitmap, which then is used in
      	blitting operations. The tiles and/or stipples are rendered into
      	another temporary pixmap. If MaskBlt() is available (on NT/2k/XP),
      	it is used, otherwise a sequence of BitBlt() is used to do the
      	final composition onto the destination drawable.
      	(draw_tiles_lowlevel, draw_tiles): Some renaming and code
      	reorg. Use BitBlt() to blit each tile, not gdk_draw_drawable().
      	(rop2_to_rop3): New function, does binary->ternary rop mapping.
      	(blit_from_pixmap, blit_inside_window, blit_from_window): Use
      	rop2_to_rop3(). Previously used SRCCOPY always...
      	(draw_rectangle, gdk_win32_draw_rectangle, draw_glyphs,
      	gdk_win32_draw_glyphs): Split functionality into two functions,
      	with generic_draw() doing its magic inbetween.
      	* gdk/win32/gdkevents-win32.c: Remove the TrackMouseEvent code, it
      	was ifdeffed out and wouldn't have done anything even if
      	enabled. Remove the GDK_EVENT_FUNC_FROM_WINDOW_PROC code, didn't
      	have any effect any more anyway after all the changes GTK+ has
      	gone through in the last years. Remove some #if 0 code.
      	* gdk/win32/gdkgc-win32.c (gdk_gc_copy): Set the copy's hdc field
      	to NULL in case a GC is copied while it has a Windows DC active.
      	* gdk/win32/gdkprivate-win32.h
      	* gdk/win32/gdkglobals-win32.c: Remove gdk_event_func_from_window_proc.
      	* gdk/win32/gdkmain-win32.c: Remove -event-func-from-window-proc
      	option. If there is a PRETEND_WIN9X envvar, set windows_version as
      	if on Win9x.
      	* gdk/win32/gdkpixmap-win32.c (_gdk_win32_pixmap_new,
      	gdk_pixmap_new): Combine these two, _gdk_win32_pixmap_new() wasn't
      	used or exported. Make a bit more like the X11 version. Hopefully
      	I didn't break the fragile palettized display ("pseudocolor")
      	* gdk/win32/gdkgc-win32.c: Various debugging output improvements.
      	(predraw_set_foreground): Check whether
      	tile/stipple origins are valid when calling SetBrushOrgEx().
      	(gdk_win32_hdc_get): Ifdef out code that tries to handle the
      	stipple by converting it into a region, and combining the clip
      	region with that. A stipple shouldn't work like that, it should
      	replicate in x and y directions. Stipples are now handled by
      	generic_draw() in gdkdrawable-win32.c.
      	* gdk/win32/gdkmain-win32.c: (gdk_win32_gcvalues_mask_to_string,
      	gdk_win32_rop2_to_string): New debugging functions.
      	(gdk_win32_print_dc): Print also DC's rop2 and text color.
  22. 14 Nov, 2002 1 commit
  23. 12 Nov, 2002 1 commit
    • Tor Lillqvist's avatar
      gdk/win32/gdkprivate-win32.h Rename all global variables and functions to · e96a41be
      Tor Lillqvist authored
      2002-11-12  Tor Lillqvist  <tml@iki.fi>
      	* gdk/win32/gdkprivate-win32.h
      	* gdk/win32/*.c: Rename all global variables and functions to
      	start with underscore.
      	Merge from stable:
      	More work on the Win32 backend. The cause of some scrolling
      	problems was that SetWindowPos() and ScrollWindowEx() don't blit
      	those parts of the window they think are invalid. As we didn't
      	keep Windows's update region in synch with GDK's, Windows thought
      	those areas that in fact had been updated were invalid. Calling
      	ValidateRgn() in _gdk_windowing_window_queue_antiexpose() seems to
      	be an elegant and efficient solution, removing from Windows's
      	update region those areas we are about to repaint proactively.
      	In some cases garbage leftover values were used for the clip
      	origin in GdkGCWin32. This showed up as odd blank areas around the
      	pixmaps included in the Text Widget in gtk-demo.
      	Having the clip region either as a GdkRegion or a HRGN in
      	GdkGCWin32 was unnecessary, it's better to just use a HRGN.
      	The translation and antiexpose queue handling in
      	gdkgeometry-win32.c seems unnecessary (and not implementable in
      	the same way as on X11 anyway, no serial numbers) on Windows,
      	ifdeffed out.
      	Don't (try to) do guffaw scrolling as there is no static window
      	gravity on Windows. Guffaw scrolling would be unnecessary anyway,
      	as there is the ScrollWindow() API. This improves the behaviour of
      	the Text Widget demo in gtk-demo a lot. But I have no idea how the
      	lack of static win gravity should be handled in other places where
      	the X11 code uses it. Especially _gdk_window_move_resize_child().
      	There is still some problem in expose handling. By moving an
      	obscuring window back and forth over testgtk's main window, for
      	instance, every now and then you typically get narrow vertical or
      	horizontal strips of pixels that haven't been properly redrawn
      	after being exposed. A fencepost error somewhere?
      	Otherwise, all of testgtk and gtk-demo except "big windows" now
      	seem to work pretty well.
      	Bug #79720 should be fixed now.
      	* gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string,
      	gdk_win32_print_paletteentries, gdk_win32_print_system_palette,
      	* gdk/win32/gdkdrawable-win32.c (gdk_win32_drawable_description)
      	* gdk/win32/gdkevents-win32.c (gdk_win32_message_name):
      	Move all debugging helper functions to gdkmain-win32.c.
      	* gdk/win32/gdkdrawable-win32.c (_gdk_win32_draw_tiles):
      	Rewrite. Make static. Must take tile origin parameters, too.
      	(gdk_win32_draw_rectangle): Pass the tile/stipple origin to
      	_gdk_win32_draw_tiles(). Remove #if 0 code.
      	(blit_inside_window): Don't call ScrollDC(), that didn't work at
      	all like I thought. A simple call to BitBlt() is enough.
      	* gdk/win32/gdkevents-win32.c (gdk_event_translate) Remove unused
      	latin_locale_loaded variable.
      	(_gdk_win32_get_next_tick): New function. Used to make sure
      	timestamps of events are always increasing, both in events
      	generated from the window procedure and in events gotten via
      	PeekMessage(). Not sure whether this is actually useful, but it
      	seemed as a good idea.
      	(real_window_procedure): Don't use a local GdkEventPrivate
      	variable. Don't attempt any compression of configure or expose
      	events here, handled elsewhere.
      	(erase_background): Accumulate window offsets when traversing up
      	the parent chain for GDK_PARENT_RELATIVE_BG, in order to get
      	correct alignment of background pixmaps. Don't fill with
      	(gdk_event_get_graphics_expose): A bit more verbose debugging output.
      	(gdk_event_translate): Use _gdk_win32_get_next_tick(). In the
      	WM_PAINT handler, don't check for empty update rect. When we get a
      	WM_PAINT, the update region isn't empty. And if it for some
      	strange reason is, that will be handled later anyway. Call
      	GetUpdateRgn() before calling BeginPaint() and EndPaint() (which
      	empty the update region).
      	* gdk/win32/gdkdnd-win32.c
      	* gdk/win32/gdkinput-win32.c:
      	Use _gdk_win32_get_next_tick().
      	* gdk/win32/gdkfont-win32.c: Use %p to print HFONTs.
      	(gdk_text_size): Remove, unused.
      	* gdk/win32/gdkgc-win32.c:  Set clip origins to zero
      	when appropriate.
      	(gdk_gc_copy): Increase refcount on colormap if present.
      	(gdk_win32_hdc_get): Handle just hcliprgn. If we have a stipple,
      	combine it with clip region after selecting into the DC.
      	(_gdk_win32_bitmap_to_hrgn): Rename from _gdk_win32_bitmap_to_region.
      	(_gdk_win3_gdkregion_to_hrgn): New function, code snippet
      	extracted from gdk_win32_hdc_get().
      	* gdk/win32/gdkgeometry-win32.c: Ifdef out the translate_queue
      	(gdk_window_copy_area_scroll): Increase clipRect to avoid
      	ScrollWindowEx() not scrolling pixels it thinks are invalid.
      	Scroll also children with the ScrollWindowEx() call. No need to
      	call gdk_window_move() on the children.
      	(gdk_window_scroll): Don't do guffaw scrolling.
      	(gdk_window_compute_position): Fix typo, used win32_y where x was
      	(gdk_window_premove, gdk_window_postmove,
      	gdk_window_clip_changed): Add debugging output.
      	(_gdk_windowing_window_queue_antiexpose): Just call ValidateRgn()
      	on the region.
      	(_gdk_window_process_expose): No use for the serial number
      	parameter now. Instead of a rectangle, take a region parameter, as
      	Windows gives us one in WM_PAINT.
      	* gdk/win32/gdkmain-win32.c (_gdk_win32_lbstyle_to_string,
      	_gdk_win32_pstype_to_string, _gdk_win32_psstyle_to_string,
      	_gdk_win32_psendcap_to_string, _gdk_win32_psjoin_to_string,
      	_gdk_win32_rect_to_string, _gdk_win32_gdkrectangle_to_string,
      	_gdk_win32_gdkregion_to_string): New debugging functions.
      	(static_printf): Helper function for the above. sprintfs into a
      	static circular buffer, return value should be used "soon".
      	* gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Plug memory
      	leak, free list after use.
      	(gdk_window_gravity_works): Remove, we know that there is no such
      	thing on Windows.
      	gdk_window_set_static_win_gravity): Ditto, remove, they didn't do
      	anything anyway.
      	(_gdk_windowing_window_init, gdk_window_foreign_new): Call
      	_gdk_window_init_position() like in the X11 backend.
      	(gdk_window_reparent): Don't call the now nonexistent
      	gdk_window_set_static_win_gravity(). No idea what should be done
      	(gdk_window_get_geometry): The returned x and y should be relative
      	to parent. Used to be always zero..
      	(gdk_window_set_static_gravities): Return FALSE if trying to set
      	static gravity.
      	* gdk/win32/gdkprivate-win32.h: Drop the clip_region field from
      	GdkGCWin32. Only use the HRGN hcliprgn. Declare new
      	* gdk/win32/*.c: Use new debugging functions.
      	* gdk/win32/rc/gdk.rc.in: Update copyright year.
  24. 08 Nov, 2002 1 commit
  25. 02 Nov, 2002 1 commit
    • Owen Taylor's avatar
      Add startup notification hooks - mostly based on patch by Havoc Pennington · accc3a33
      Owen Taylor authored
      Sat Nov  2 00:22:33 2002  Owen Taylor  <otaylor@redhat.com>
              Add startup notification hooks - mostly based on patch
              by Havoc Pennington in #96772.
              * gdk/gdk.h gdk/x11/gdkdisplay-x11.c
              gdk/{win32,linux-fb}/gdkmain-*.c: (gdk_notify_startup_complete):
              new function that indicates an application has finished starting
              * gdk/x11/gdkmain-x11.c gdk/x11/gdkdisplay-x11.c
              (_gdk_windowing_set_default_display): store value of
              DESKTOP_STARTUP_ID on the default screen, and clear it from the
              * gdk/x11/gdkdisplay-x11.c:
              Set _NET_STARTUP_ID hint on display's group leader window.
              * gtk/gtkwindow.c (gtk_window_set_auto_startup_notification):
              function to toggle whether we automatically broadcast that we've
              started up, after mapping the first toplevel window.
              (gtk_window_map): call gdk_screen_notify_startup_complete() by
              default, unless enabled by above.
              * gtk/gtkmain.c gtk/gtkcombo.c gtk/gtktoolbar.c:
              Couple of warning fixes.
  26. 31 Oct, 2002 1 commit
    • Owen Taylor's avatar
      Add a --screen option for setting the default screen. (Based on a patch · 550bf181
      Owen Taylor authored
      Thu Oct 31 12:40:39 2002  Owen Taylor  <otaylor@redhat.com>
              * gdk/gdk.[ch] gdk/gdkglobals.c gdk/gdkinternals.h
              Add a --screen option for setting the default screen.
              (Based on a patch from Balamurali Viswanathan, #81145)
              * gdk/gdk.c gdkdisplay.h gtk/gtkmain.c: Add
              gdk_display_open_default_libgtk_only(), so gtk_init_check()
              and gdk_init_check() can share the same behavior w.r.t.
              * gdk/gdk.[ch]: Make gdk_get_display_arg_name() G_CONST_RETURN.
              * gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
              Suppress a spurious warning.
              * tests/testgtkrc: Remove someleft-over commented out
              includes that could be confusing.
  27. 28 Oct, 2002 1 commit
    • Tor Lillqvist's avatar
      Don't call GetWindowLong for GWL_EXSTYLE, the extended window style wasn't · ae26d024
      Tor Lillqvist authored
      2002-10-28  Tor Lillqvist  <tml@iki.fi>
      	* gdk/win32/gdkwindow-win32.c (gdk_window_set_decorations,
      	gdk_window_set_functions): Don't call GetWindowLong for
      	GWL_EXSTYLE, the extended window style wasn't used or
      	changed. After setting the window style with SetWindowLong, call
      	SetWindowPos with the SWP_FRAMECHANGED flag for the window to
      	actually be updated, as Platform SDK docs say one should. (#95812,
  28. 25 Oct, 2002 1 commit
    • Matthias Clasen's avatar
      Fix doc comment. · 1a4c94b9
      Matthias Clasen authored
      	* gdk/x11/gdkcursor-x11.c: Fix doc comment.
      	* gdk/gdkdnd.c: Add missing includes.
  29. 23 Oct, 2002 1 commit
  30. 16 Oct, 2002 1 commit
    • Owen Taylor's avatar
      Make 'filled' arguments for draw_arc/polygon/rectangle gboolean not gint. · 209fd4cc
      Owen Taylor authored
      Wed Oct 16 14:32:43 2002  Owen Taylor  <otaylor@redhat.com>
              * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkpixmap.c
              gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c
              gdk/win32/gdkdrawable-win32.c gdk/linux-fb/gdkdrawable-fb2.c
              Make 'filled' arguments for draw_arc/polygon/rectangle
              gboolean not gint. (#94976)
  31. 07 Oct, 2002 3 commits
    • Owen Taylor's avatar
      Add gdk_drag_find_window_for_screen(), so that we can interpret x_root / · f3f016d0
      Owen Taylor authored
      Mon Oct  7 15:48:44 2002  Owen Taylor  <otaylor@redhat.com>
              * gdk/gdkdnd.[ch] gdk/x11/gdkdnd-x11.c: Add
              gdk_drag_find_window_for_screen(), so that we can
              interpret x_root / y_root relative to the correct screen.
              * gdk/gdkdnd.c Makefile.am gdk/x11/gdkdnd-x11.c
              gdk/fb/gdkdnd-fb.c gdk/win32/gdkdnd-win32.c: New file.
              Move gdk_drag_find_window(), gdk_drag_get_protocol() here.
              * gtk/gtkdnd.c: Handle drags between screens; use
              a fallback icon for icons set as windows/pixmaps,
              move the drag icon between displays for icons set as
              * gdk/x11/gdkkeys-x11.c (update_keymaps): Fix infinite
              loop from last change.
    • Owen Taylor's avatar
      - Replace GdkPointerHooks with a multihead-safe GdkDisplayPointerHooks, · 253458ec
      Owen Taylor authored
      Mon Oct  7 15:10:00 2002  Owen Taylor  <otaylor@redhat.com>
              * gdk/gdkdisplay.[ch] gdk/gdkinternals.h
              gdk/gdkwindow.[ch] gdk/linux-fb/gdkwindow-fb.c
              gdk/win32/gdkwindow-win32.c gdk/x11/gdkwindow-x11.c:
              - Replace GdkPointerHooks with a multihead-safe
                GdkDisplayPointerHooks, leave GdkPointerHooks
                around for singlehead.
              - Add gdk_display_get_pointer() to get the pointer
                location with the screen it is on.
              * gdk/gdk.def gdk/gdkdisplay.[ch] gdk/gdkscreen.[ch]:
              Change gdk_screen_get_window_at_pointer() to
              * gtk/gtktreeview.c demos/gtk-demo/changedisplay.c
              tests/testgtk.c: Use gdk_display_get_window_at_pointer(),
              not gdk_screen_get_window_at_pointer().
              * gtk/gtkcolorsel.c: Fix grabbing color to be multihead
              * gtk/gtkwidget.c: Allow gtk_widget_push_colormap (NULL).
              since it is useful for writing code that doesn't
              know the dcurrent state but needs a clean colormap.
              * gtk/gtkrc.c: When loading the settings for a particular
              screen, only reset toplevels on that screen.
              * gtk/gtkiconfactory.h: Fix #ifdef GTK_MULTIHEAD_SAFE
              that should have been #ifndef GTK_MULTIHEAD_SAFE.
    • Bill Haneman's avatar
  32. 03 Oct, 2002 1 commit
    • Owen Taylor's avatar
      Add a 'type' parameter, make public. · ef33adff
      Owen Taylor authored
      Thu Oct  3 14:13:33 2002  Owen Taylor  <otaylor@redhat.com>
              * gdk/gdkevents.c (gdk_event_new): Add a 'type'
              parameter, make public.
              * gdk/gdkevents.c (gdk_event_copy): Copy the screen.
              * gdk/gdkevents.c gdk/linux-fb/gdkmain-fb.c
              gdk/x11/gdkevents-x11.c gdk/win32/gdkevents-win32.c:
              _gdk_event_new() => gdk_event_new().
              * gdk/win32/gdkevents-win32.c (real_window_procedure):
              Fix event_private->screen breakage that results from evil
              encapsulation breakage here.
              * gtk/gtkclist.c gtk/gtkcombo.c gtk/gtkcontainer.c
              gtk/gtkdialog.c gtk/gtkdnd.c gtk/gtkdrawingarea.c
              gtk/gtkimcontextsimple.c gtk/gtklist.c gtk/gtkmenu.c
              gtk/gtknotebook.c gtk/gtkplug.c gtk/gtkselection.c
              gtk/gtktext.c gtk/gtktreeitem.c gtk/gtktreeview.c
              gtk/gtkviewport.c gtk/gtkwindow-decorate.c gtk/gtkwindow.c
              tests/testgtk.c: Remove most usage of stack-allocated
              GdkEvent structures.
              * gtk/gtktreeview.c: Use a cut-and-paste of the full
              send_focus_event() from gtkwindow.c that does the necessary
              notification of the ::has-focus property and setting of
              the HAS_FOCUS flag.x
              * gtk/gtkdnd.c: Clean up some mess/duplicated code; removing
              an extraneous use of a GdkEvent.
  33. 30 Sep, 2002 1 commit