Fri Apr 18 15:56:46 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkdrawable-x11.[ch]:
Patch from Morten Welinder to catch Sun servers with a
broken implementation of the RENDER extension. (#108309)
Fri Apr 18 15:30:38 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (set_text_property): Use
gdk_free_compound_text(), not g_free(). (#107643,
Michael Zucchi)
Fri Apr 18 14:15:09 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdisplay-x11.c (gdk_display_open):
* gdk/x11/gdkevents-x11.c (gdk_event_translate): You
don't get a XkbMapNotify event if you get a XkbNewKeyboardNotify
event, so select for both. (#108406, Egmont Koblinger)
Mon Apr 7 19:43:15 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush
after ungrabbing the server.
* gdk/x11/gdkimage-x11.c: Remove some no-longer-needed
calls to XFlush().
* gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer):
Use gdk_x11_display_grab/ungrab.
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)
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.
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.
2003-03-09 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkdrawable-win32.c (draw_segments): Don't try to
compensate for LineTo() not drawing the end pixel. It causes more
harm than benefits, see bug #81895.
2003-02-19 Matthias Clasen <maclas@gmx.de>
* gdk/gdkkeys.c (gdk_keymap_class_init): Associate the
keys_changed virtual function with the keys_changed signal.
(#106512, Jeff Franks)
Thu Jan 30 16:01:29 2003 Owen Taylor <otaylor@redhat.com>
* gdk/gdkrgb.c (gdk_rgb_try_colormap): Remove the
attempt-to-allocate then free code. To handle multiple
people allocating colors at the same time, we need
to just go ahead and try. (#102213, Shivram U)
Wed Jan 29 17:02:41 2003 Owen Taylor <otaylor@redhat.com>
* gdk/gdkkeyuni.c (get_decimal_char): Make the
translation of GDK_KP_Decimal dependent on LC_NUMERIC.
(#101225)
Wed Jan 22 14:18:46 2003 Manish Singh <yosh@gimp.org>
* gdk/x11/gdkevents-x11.c (translate_key_event): add a "return" at
the end of the function, so there is a statement following the "out"
label in all cases (fixes#101961)
2003-01-19 Tor Lillqvist <tml@iki.fi>
Merge from stable:
Fix for #103614 and some other problems with GtkFileSelection on
Windows:
* 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
Windows.
(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
variables.
(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.
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
lookup.
* gdk/Makefile.am (libgdk_win32_2_0_la_DEPENDENCIES): Depend on
gdk.def.
* 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?
Wed Jan 8 18:43:03 2003 Manish Singh <yosh@gimp.org>
* gdk/x11/gdkdisplay-x11.c: #include <stdlib.h> for putenv,
<string.h> for strlen.
* gdk/x11/gdkscreen-x11.c: #include <stdlib.h> for getenv,
<string.h> for strrchr.
* tests/testgtk.c (create_saved_position): "x" and "y" properties
for widgets no longer exist, use gtk_window_move instead.
* test/testtextbuffer.c (check_get_set_text): cast strlen to
int for g_error.
2003-01-05 Tor Lillqvist <tml@iki.fi>
* gtk-zip.sh.in: Use correct DLL and import library names, with
GTK_API_VERSION in name, not GTK_MAJOR_VERSION.GTK_MINOR_VERSION.
(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.am.
* 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
earlier.
* gdk/win32/rc/Makefile.am: Add hack to help
build/win32/lt-compile-resource decide which kind of libtool
object file to produce.
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
#101588)
(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().
(#79036)
* gdk/gdk.def: Add gdk_window_get_decorations. (#98981)
Thu Dec 19 11:42:00 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Call
the filters on the window where the event is received,
not on the window the event is "about". (#101512,
Bolian Yin.)
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.
Sat Dec 14 22:18:45 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents):
Fix a bug with checking the private flag on the wrong
window; improve the answer on failure a bit; push
an error trap around the X operations. (#100933)
Fri Dec 13 23:58:06 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkscreen.c (gdk_screen_get_monitor_at_point)
* gdk/gdkscreen.c (gdk_screen_get_monitor_at_window):
Provide a useful fallback on failure - return a monitor
close to the point or window. (#79991)
* gtk/gtkmenu.c (gtk_menu_position): Remove a now
unneeded check for failure of
gdk_screen_get_monitor_at_point()
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).
Tue Dec 10 15:46:01 PST 2002 Manish Singh <yosh@gimp.org>
* gdk/x11/gdkwindow-x11.c (set_initial_hints):
gdk_x11_get_xatom_by_name_for_display takes a GdkDisplay *,
not an XDisplay * (obvious typo fix for the previous commit)
* gdk/x11/gdkwindow-x11.c (set_initial_hints): Delete EWMH
properties if no private->state flags are set. (#66754)
* gtk/gtkwidget.c (gtk_widget_class_find_style_property):
* gtk/gtkcontainer.c (gtk_container_class_find_child_property):
Doc typo fixes.
* gtk/tmpl/gtktextview.sgml: Add docs.
* gtk/tree_widget.sgml: Fix some links.
* gtk/tmpl/gtkwindow.sgml: Add docs.
* gtk/tmpl/gtkeditable.sgml: Document GtkEditable as an interface,
not as an abstract base class.
* gtk/gtk-docs.sgml: Move GtkEditable from "Abstract Base Classes"
to "Numeric/Text Data Entry".
Tue Dec 10 14:37:41 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate)
gdk/x11/gdkwindow-x11.h: Separate out tracking of the X server
focus window from tracking our idea of what the focus window is,
because the PointerRoot code needs to know the real pointer
window. (Mostly accidentally committed a bit earlier.)
Mon Dec 9 18:50:31 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkinput-x11.c (_gdk_input_common_find_events):
Remove selection for DeviceButtonRelease, we no longer need
it now that gxi is gone. (#32617, reported by Garry
Osgood)
Tue Dec 10 00:49:35 2002 Kristian Rietveld <kris@gtk.org>
* gdk/gdkpixmap.h (gdk_pixmap_new), (gdk_bitmap_create_from_data),
(gdk_pixmap_create_from_xpm), (gdk_pixmap_colormap_create_from_xpm),
(gdk_pixmap_create_from_xpm_d),
(gdk_pixmap_colormap_create_from_xpm_d): update to allow a
GdkDrawable instead of a GdkWindow.
* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpm),
(gdk_pixmap_create_from_xpm), (gdk_pixmap_colormap_create_from_xpm_d),
(gdk_pixmap_create_from_xpm_d): update to allow a GdkDrawable
instead of a GdkWindow.
* gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new),
(gdk_bitmap_create_from_data), (gdk_pixmap_create_from_data): update
to allow a GdkDrawable instead of a GdkWindow.
* gdk/x11/gdkpixmap-x11.c (gdk_pixmap_new),
(gdk_bitmap_create_from_data), (gdk_pixmap_create_from_data): likewise
Mon Dec 9 10:44:59 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors_private):
Fix a bug in one of my earlier changes. (From Naofumi Yasufuku,
#100023)
Sun Dec 8 21:43:31 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkcolor-x11.c: Fix spacing in a bunch of
for (i=0; i<ncolors; i++).
* gdk/x11/gdkcolor-x11.c: Various g_return_if_fail()
cleanup.
Sun Dec 8 21:29:10 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc1): Fix
a lost refcount in the case where we get a duplicate
back from the X server.
* gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors_writeable):
Set success[] for all colors when allocation of colors
cells via XAllocColorCells succeeds.
* gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors_private):
Don't match against colors cells allocated writeable.
Sun Dec 8 21:22:46 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors_private):
When allocating non-writeable colors, fill in the flags
field of the XColor, and insert the returned color into
our color hash. (#100023, Naofumi Yasufuku)
* gdk/x11/gdkcolor-x11.c (gdk_colormap_free_colors):
Fix a typo (my fault) that slipped in in the last patch.
Sun Dec 8 20:32:23 2002 Owen Taylor <otaylor@redhat.com>
More fixes for GdkColormapX11 (#100023, Naofumi Yasufuku)
* gdk/x11/gdkcolor-x11.c (gdk_colors_free)
(gdk_colormap_free_colors): Don't call XFreeColors() for
private colorsmaps.
* gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors_writeable,
gdk_colormap_colors_private, gdk_colormap_alloc_colors_shared):
Fix return values to return number remaining not number
allocated.
* gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors_shared,
gdk_colormap_alloc_colors_private): Clean up some a stray
initializations.
Sun Dec 8 20:19:22 2002 Owen Taylor <otaylor@redhat.com>
Fixes for GdkColormapX11 (#100023, Naofumi Yasufuku)
* gdk/x11/gdkcolor-x11.c (gdk_x11_colormap_foreign_new):
Fix typo that caused us to always return the system
colormap.
* gdk/x11/gdkcolor-x11.c (gdk_colormap_new): When allocating
a private colormap and copying the system palette
to prevent flashing, handle colormap->size greater than
system_colormap->size.
* gdk/x11/gdkcolor-x11.c (gdk_x11_colormap_get_xdisplay):
Get rid of the last remains of private->xdisplay
in favor of using private->screen.
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
function.
* 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.
(WIN32_API_FAILED, WIN32_GDI_FAILED, OTHER_API_FAILED): Don't use
__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)
Fri Dec 6 17:50:57 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpixmap.c (PACKED_COLOR): Fix incorrect
masks in PACKED_COLOR definition. (#99795,
John Finlay)
Wed Dec 4 14:31:46 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdnd-x11.c: Always look up and create the
Motif drag window as a child of the root window of screen 0
rather than the default screen. (#100362, Erwann Chenede)
* gdk/x11/gdkdnd-x11.c (motif_read_initiator_info):
Return FALSE, not GDK_FILTER_REMOVE on failure; this
isn't a filter function.
* gdk/x11/gdkselection-x11.c gtk/gtkselection.c: Add
some g_return_if_fail() to catch selection == None more
gracefully than an X error.
Tue Dec 3 17:47:24 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkgeometry-x11.c (gdk_window_guffaw_scroll): Fix wrong
sign for queued translation. (Found by Chris Blizzard,
#100274)
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
destroyed.
* gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init):
Add a missing ref for the system colormap.
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)
Mon Nov 25 16:58:27 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c: Use _NET_WM_WINDOW_TYPE_SPLASH,
not TYPE_SPLASHSCREEN. (#99482, Gregory Merchan)
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)
* gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap):
Remove period from title of example in docs.
* gdk/tmpl/x_interaction.sgml:
* gdk/tmpl/pango_interaction.sgml:
* gdk/tmpl/input_devices.sgml:
* gdk/tmpl/input.sgml:
* gdk/tmpl/threads.sgml:
* gdk/tmpl/properties.sgml:
* gdk/tmpl/dnd.sgml:
* gdk/tmpl/selections.sgml:
* gdk/tmpl/keys.sgml:
* gdk/tmpl/event_structs.sgml:
* gdk/tmpl/events.sgml:
* gdk/tmpl/windows.sgml:
* gdk/tmpl/cursors.sgml:
* gdk/tmpl/fonts.sgml:
* gdk/tmpl/colors.sgml:
* gdk/tmpl/pixbufs.sgml:
* gdk/tmpl/images.sgml:
* gdk/tmpl/pixmaps.sgml:
* gdk/tmpl/drawing.sgml:
* gdk/tmpl/regions.sgml:
* gdk/tmpl/gdkdisplaymanager.sgml:
* gdk/tmpl/gdkscreen.sgml:
* gdk/tmpl/gdkdisplay.sgml:
* gdk/tmpl/general.sgml:
Add missing short descriptions, standardize them to start with
a capital and end without a period. Also remove periods from
titles of examples.
Sun Nov 17 13:45:08 2002 Manish Singh <yosh@gimp.org>
* gdk/Makefile.am: add -DGDK_DISABLE_DEPRECATED
* gdk/gdk.c (gdk_exit): remove obsolete comment
* gdk/gdk.h: declare gdk_input_add_full if GTK_COMPILATION for
gtk_input_add_full
* gdk/gdkcolor.c (gdk_color_white, gdk_color_black): use
gdk_colormap_alloc_color instead of gdk_color_alloc
* gdk/gdkcolor.h: declare gdk_colormap_change if GDK_COMPILATION for
gdk_colors_store. Also, gdk_colors_{alloc,free} for
gdk_rgb_try_colormap
* gdk/gdkdrawable.h: declare gdk_draw_string if GTK_COMPILATION for
gtk_default_draw_string. Also, gdk_draw_text and gdk_draw_text_wc
if GDK_COMPILATION for the respective gdk_window_ and gdk_pixmap_
functions.
* gdk/gdkfont.c: #undef GDK_DISABLE_DEPRECATED, completely compat
code here
* gdk/gdkfont.h: allow the GdkFont structure and a few gdk_font_
functions for compat code in GDK_COMPILATION and GTK_COMPILATION.
* gdk/gdkrgb.c (gdk_rgb_cmap_fail, gdk_rgb_try_colormap): use
gdk_colormap_free_colors instead of gdk_colors_free.
* gdk/gdkrgb.c (gdk_draw_rgb_image_core): no need to set fg/bg
for own_gc, unused.
* gdk/gdkwindow.h: declare gdk_window_get_deskrelative_origin if
GTK_COMPILATION for gtk_handle_box_button_changed.
* gdk/x11/Makefile.am: add -DGDK_DISABLE_DEPRECATED, renmae
-DINSIDE_GDK_X11 to -DGDK_COMPILATION
* gdk/x11/gdkcolor-x11.c: remove duplicate doc string for
gdk_colormap_alloc_colors.
* gdk/x11/gdkfont-x11.c: #undef GDK_DISABLE_DEPRECATED, completely
compat code here
* gdk/x11/gdkx.h: use GDK_COMPILATION instead of INSIDE_GDK_X11,
allow a few gdk_x11_font_ functions if GDK_COMPILATION for compat
code
* gtk/Makefile.am: add -DGDK_DISABLE_DEPRECATED
* gtk/gtkclist.c
* gtk/gtkctree.c
* gtk/gtkpixmap.c
* gtk/gtkpreview.c
* gtk/gtktext.c: #undef GDK_DISABLE_DEPRECATED, deprecated widget
* gtk/gtkhandlebox.c (gtk_handle_box_motion): use
gdk_window_set_geometry_hints instead of gdk_window_set_hints.
* gtk/gtkmain.c (gtk_exit): call exit directly
* gtktipsquery.c (gtk_tips_query_real_start_query)
* gtk/gtktreeitem.c (gtk_tree_item_add_pixmaps): remove some
deprecated GDK usage.
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.
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")
code.
* 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.
Fri Nov 8 18:04:16 2002 Owen Taylor <otaylor@redhat.com>
* gdk/{linux-fb,win32,11}/Makefile.am: Try a different
hack to force gdkenumtypes.h to be updated before
building the subdir, last hack caused contents
to be rebuilt on every make.
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_print_hpalette)
* 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
BLACK_BRUSH if GDK_NO_BG.
(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
handling.
(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
intended.
(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_bit_gravity,
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
instead.
(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
functions.
* gdk/win32/*.c: Use new debugging functions.
* gdk/win32/rc/gdk.rc.in: Update copyright year.
* gdk/x11/gdkfont-x11.c (gdk_text_extents_wc):
(gdk_text_extents):
* gdk/gdkfont.c (gdk_string_extents): Reformulate doc comments to
work around gtk-doc limitations.
Fri Nov 8 18:04:16 2002 Owen Taylor <otaylor@redhat.com>
* gdk/{linux-fb,win32,11}/Makefile.am: Add in a awful
hack to force gdkenumtypes.h to be updated before
building the subdir. (#86587)
Fri Nov 8 17:08:54 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Use
g_get_application_name() instead of g_get_prgname()
as the default window title when set.
* gdk/x11/gdkwindow-x11.c gdk/x11/gdkdisplay-x11.[ch]:x
Set g_get_application_name() as the title for the
leader window the first time we create a window
pointing to it.
* tests/testgtk.c (main): Call g_set_application_name();
* configure.in (GDK_PIXBUF_VERSION): Require GLib-2.1.3
Thu Nov 7 17:18:06 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_pixbuf):
Don't try to use render if we can't get a picture for
the drawable. (Fixes#97220, reported by
Jamie Zawinski)
* gtk/gtkimage.c: Force requisition calculation
when we get a expose prior to size_request().
(#91711, reported by Sven Neumann, debugging
help from Matthias Clasen, Soeren Sandmann)
Thu Nov 7 16:45:54 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkx.h: Fix misplaced display_grab()/display_ungrab();
they shouldn't have been deprecated.
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
up.
* 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
environment.
* 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.
Thu Oct 31 12:40:39 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.[ch] gdk/gdkglobals.c gdk/gdkinternals.h
gdk/{x11,win32,linux-fb}/gdkscreen-{x11,win32,linux-fb}.c:
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.
--screen.
* 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.
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,
huzheng)
Fri Oct 18 16:47:02 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (translate_key_event): Produce
C-m, not C-j for return. Handle Escape.
Thu Oct 17 17:17:05 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcheckbutton.c (gtk_check_button_size_request):
Fix use of uninitialized variable.
Thu Oct 17 14:38:37 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkaccellabel.c (gtk_accel_label_expose_event):
Align the baseline of the accelerator label with the
first baseline of the main label of the menu item. (#76593)
Wed Oct 16 18:25:24 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (translate_key_event):
Use gdk_keymap_translate_keyboard_state() rather than
XLookupString() to get the keysymbol, since XLookupString
can confuse the input method handling. (#93575)
* gdk/x11/gdkkeys-x11.c: Rewrite the handling of
key translation for the non-XKB case to properly
handle Shift_Lock, Caps_Lock, Num_Lock according
to the Xlib spec. (#67066)
2002-10-16 Havoc Pennington <hp@redhat.com>
* gdk/x11/gdkscreen-x11.c (gdk_screen_get_monitor_geometry): add
g_return_if_fail for monitor number <= 0
* gtk/gtkmenu.c (gtk_menu_position): handle case where pointer
is outside the screen.
* gtk/gtkwindow.c (get_monitor_center): factor out
the code to position a window in center
(gtk_window_compute_configure_request): use here
(gtk_window_constrain_position): use here, the
code here wasn't multihead-aware
* gdk/x11/gdkevents-x11.c (get_real_window): function to
return the window the event describes, rather than the window
that received the event.
(gdk_event_translate): use result of that function for
filling in GdkEvent::window, which only matters for
MapNotify/UnmapNotify and ConfigureNotify, in practice.
Unbreaks various things using SubstructureNotifyMask.
Mon Oct 7 19:44:45 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkkeys-x11.c (_gdk_keymap_keys_changed): Move
out of HAVE_XKB. (#95129, Phil Blundell)
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
pixbufs.
* gdk/x11/gdkkeys-x11.c (update_keymaps): Fix infinite
loop from last change.
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
gdk_display_get_window_at_pointer().
* 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
safe.
* 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.
Mon Oct 7 11:45:17 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkkeys-x11.c (update_keymaps): If Mode_switch
is used for a known modifier like Mod1, assume it won't
be used to switch group. (#94841, problem reported by
Szekeres Istvan)
Fri Oct 4 14:49:04 2002 Owen Taylor <otaylor@redhat.com>
Patch from Shivram U <shivaram.upadhyayula@wipro.com>
* gdk/x11/gdkkeys-x11.c (update_keymaps): Increased the keycount to
(max_keycode - min_keycode) + 1 from (max_keycode - min_keycode).
(update_keymaps), (gdk_keymap_get_entries_for_keyval) looping through
less than or equal to max_keycode. (#79184)
Fri Oct 4 12:00:10 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkscreen.c (gdk_screen_class_init): Get the
name right.
* gdk/x11/gdkscreen-x11.c (gdk_screen_x11_class_init):
Fix function that should have been static.
Fri Oct 4 11:43:47 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Add a check for the Xrandr extension.
* gdk/gdkscreen.[ch]: Add a size-changed signal.
* gdk/x11/gdkscreen-x11.[ch]: Patch from Keith packard
to hook up ConfigureNotify events on the root window
to the ::size-changed signal. (#94560)
* gtk/gtkimcontextsimple.c: Warning fixes
Thu Oct 3 19:00:55 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
Fix error in computing length and a memory leak.
(Fixes#94072, reported by Hema Seetharamaiah)
* gtk/gtkmenu.c (gtk_menu_motion_notify): Fix &event
used instead of event.
Thu Oct 3 23:53:43 2002 Kristian Rietveld <kris@gtk.org>
* gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_destroy): get
XDisplay from window instead of display, as display has not been
defined here (fixes the build).
Thu Oct 3 17:09:23 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/{gdkdrawable-x11.[ch],gdkpixmap-x11.c,
gdkwindow-x11.c}: Restore the pre-Xft2 code to
render text directly via RENDER, conditionalized
with !HAVE_XFT2 so that we'll build again on Xft1
systems. (#90181)
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.
Wed Oct 2 17:46:53 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkdrawable.h gdk/gdkinternals.h gdk/gdkdraw.c
gdk/gdkwindow.c gdk/gdkdrawable.c: Export _gdk_draw_pixbuf
as gdk_draw_pixbuf(), rename the _draw_pixbuf virtual
function to draw_pixbuf. (#60582)
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable[_alpha]):
Note that these functions are obsolete in the docs.
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable):
Remove all the sanity checks now we make it clear
that it is obsolete name for gdk_draw_pixbuf().
* gdk/gdkpixmap.c gtk/gtkcellrendererpixbuf.c gtk/gtkimage.c
gtk/gtkpixmap.c demos/testpixbuf-scale.c demos/testpixbuf.c
tests/testrgb.c: Use gdk_draw_pixbuf() everywhere.
* gtk/gtklabel.c (gtk_label_set_mnemonic_widget): Fix
some warnings.
* gdk/gdkinternals.h (struct _GdkEventPrivate): Fix missed
bit from last gdk_event_get_screen() change.
* gdk/gdkevents.c: Couple of small fixes.i
Wed Oct 2 17:36:42 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.[ch] gdk/x11/gdkevents-x11.[ch]: Add
gdk_screen_set_screen()/_get_screen() which (by evil
hacks) work for for heap allocated events and
fall back gracefully for stack allocated events.
2002-09-30 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
Set image->windowing_data to NULL, unref the image. (Late merge
from stable.)
Mon Sep 30 15:31:57 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkdisplay.c gdk/x11/gdkdisplay-x11.c
gdk/gdkinternals.h: Set the client ID on all
displays. (#85713)
* gdk/gdkdisplay.h gkd/gdkinternals.h
gdk/{linux-fb,win32,x11}/gdkmain-{fb,win32,x11}.c
Privatize gdk_display_set_sm_client_id().
Fri Sep 27 14:30:34 2002 Eric Warmenhoven <eric@warmenhoven.org>
* gdk/Makefile.am gdk/gdkkeynames.c gdk/linux-fb/gdkmain-fb.c
gdk/win32/gdkkeys-win32.c: Move gdk_keval_name and
gdk_keyval_from_name to new gdkkeynames.c, share implementation for
linux-fb and win32 (#94123)
* gdk/linux-fb/Makefile.am gdk/linux-fb/gdkkeyboard-fb.c
gdk/linux-fb/gdkmain-fb.c gdk/linux-fb/gdkmouse-fb.c: add
-DG_DISABLE_DEPRECATED and -DGDK_PIXBUF_DISABLE_DEPRECATED to compile
flags
* gdk/linux-fb/gdkdisplay-fb.c: prevent segfault if display can't
initialize
* gdk/linux-fb/gdkkeyboard-fb.c: better parsing of keycodes
* gdk/linux-fb/gdkwindow-fb.c: add stubs for new functions
Wed Sep 25 10:51:24 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkscreen.h gdk/{x11,win32,linux-fb}/gdkscreen-*.c:
Add gdk_screen_make_display_name(), which returns a
display name that can be used to open a display with the
screen as the default (Based on patch from Mark McLoughlin,
#86013)
Wed Sep 25 08:50:40 2002 Owen Taylor <otaylor@redhat.com>
Patch from Eric Warmenhoven, #94123
* gdk/gdkmouse-fb.c: Add scrolling support for
imps2 mice.
* gdk/linux-fb/gdkimage-fb.c: Fix compilation error
in last gdkimage-fb.c commit.
Tue Sep 24 19:45:55 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_get_colormap):
Look up the visual as well as the colormap, since calling
gdk_drawable_get_visual() causes infinite recursion.
* gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init):
Set the colormap for the root window.
* gnome-settings-xsettings.c: added two new xsettings
for GTK+ input method preedit and status styles.
With the other patch for gtk+, the preedit and status styles of
GTK+ input method are configurable with associated gconf schemas
keys:
"/desktop/gnome/interface/gtk-im-preedit-style"
"/desktop/gnome/interface/gtk-im-status-style"
Both are set to "callback" by default, and platform's
packging can have different default by changing
libgnome's desktop_gnome_interface.schemas.
* gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_get_colormap):
Replace leftover gdk_colormap_lookup () by
gdk_x11_colormap_foreign_new () to make the linker happy.
Tue Sep 24 17:49:52 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkaccelgroup.[ch] (gtk_accel_group_find):
Add a GtkAccelGroupFindFunc to clean up the
prototype. (#76670, Vitaly Tishkov)
* gdk/x11/gdkvisual-x11.c gdk/x11/gdkx.h: Rename
gdkx_visual_get_for_screen() to
gdk_x11_screen_lookup_visual(). (#85702)
2002-09-25 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (gdk_event_translate):
WM_SYSKEYDOWN, WM_SYSKEYUP: Need to handle F10 specially here in
order to be able to handle it normally in the application. Set
ignore_wm_char also always when handling WM_SYSKEY{DOWN,UP}, this
way we can generate GDK events also for Alt-Fn keys, for instance.
Tue Sep 24 16:40:14 2002 Owen Taylor <otaylor@redhat.com>
Make icon sizes configurable (#70648, slightly based
on a patch from Bill Haneman, Brian Cameron)
* gtk/gtkiconfactory.[ch]: Add
gtk_icon_size_lookup_for_settings().
* gtk/gtksettings.c: Add gtk-icon-sizes XSETTING
* gtk/gtkiconfactory.c: Make icon sizes per-GtkSettings.
* gtk/gtkstyle.c: Use gtk_icon_size_lookup_for_settings()
* gtk/gtkrc.[ch]: Privately export _gtk_rc_reset_styles()
to force all the widgets to recompute their appearance.
Tue Sep 24 05:26:31 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.h gdk/gdkdisplay.c gdk/linux-fb/gdkevents-fb.c
gdk/x11/gdkevents-x11.c gdk/win32/gdkevents-win32.c:
Change the window parameter for
gdk_event_send_client_message[_for_display] from guint32
to GdkNativeWindow. (#79979)
Mon Sep 23 16:48:46 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkkeys.[ch] gdk/x11/gdkkeys-x11.c gdk/x11/gdkevents-x11.c:
Add a keys_changed signal emitted when the keymap changes.
(#72148)
* gtk/gtkkeyhash.c (_gtk_key_hash_remove_entry):
Hook up code to handle keymap changes, change to keep
a linked list of keymap entries so that we can reinsert
them in the same order on a keymap change.
Sun Sep 22 18:22:37 2002 Owen Taylor <otaylor@redhat.com>
* gdk/linux-fb/{gdkinput.c,gdkkeyboard-fb.c,gdk/linux-fb/gdkmain-fb.c,
gdk/linux-fb/gdkprivate-fb.h, gdk/linux-fb/gdkwindow-fb.c}:
Patch from Eric Warmenhoven to with miscellaneous linux-fb
fixes, including a fix for a crash in
gdk_keymap_get_entries_for_keycode (#87420)
2002-09-21 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkselection-win32.c (sanitize_utf8): Copy from X11
backend. The old version mishandled consecutive newlines.
* tests/testgtkrc: Remove obsolete mention of gtk-engines and
Pixmap theme engine on Win32.
2002-09-20 Tor Lillqvist <tml@iki.fi>
* gdk/gdkfont.h: Delete leftover declarations of the obsolete
Win32-only functions gdk_font_full_name_get() and
gdk_font_full_name_free().
* gdk/gdk.def: Delete from here, too.
* gdk/win32/gdkfont-win32.c (logfont_to_xlfd,
gdk_font_full_name_get, gdk_font_full_name_free): Delete
implementation, and helper functions.
(pattern_match, InnerEnumFontFamExProc, EnumFontFamExProc,
gdk_font_list_new, gdk_font_list_free): Delete unused functions.
(gdk_text_width, gdk_text_width_wc) Instead of code duplication,
let gdk_text_extents() and gdk_text_extents_wc() do the job.
* gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
Don't use the above removed functions in debugging output.
* gdk/win32/gdkdisplay-win32.c
* gdk/win32/gdkmain-win32.c
* gdk/win32/gdkprivate-win32.h
* gdk/win32/gdkselection-win32.c
* gdk/win32/gdkinput-win32.h
* gdk/win32/gdkinput.c: Make it compile again, pass a GdkDisplay in
a couple of places.
Thu Sep 19 16:39:29 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtksettings.h (GTK_SETTINGS_GET_CLASS): Fix
usage of compat GTK_TYPE_ macros without including
gtkobject.h.
* gdk/x11/gdkevents-x11.[ch]: Set a flag when initializing
to avoid having extra settings-notify events sent
when not needed.
2002-09-12 Tor Lillqvist <tml@iki.fi>
Merge from gtk-1-3-win32-production and gtk-2-0:
* gdk/win32/gdkinput-win32.c (gdk_input_init): Use
GetSystemMetrics (SM_C[XY]SCREEN) instead of
gdk_screen_{width,height}().
* gdk/win32/gdkselection-win32.c (gdk_selection_convert): Don't
use return value from GlobalSize() as length of string when
calling MultiByteToWideChar(). Pass -1 instead (zero-terminated
string). Thanks to Iwasa Kazmi.
2002-09-12 Tor Lillqvist <tml@iki.fi>
Merge from gtk-2-0:
* gdk/win32/gdkgeometry-win32.c: Add GDK_NOTE debugging output
to some functions, related to moving and resizing and expose
and antiexpose queue processing. Use %p to output HWNDs.
Tentative fix for #79720 based on code by Florent Duguet:
* gdk/win32/gdkgeometry-win32 (gdk_window_queue_append): New
static function. Checks length of translate_queue, calls
_gdk_window_process_expose() if length is >= 128. Then appends
to translate_queue.
(gdk_window_queue_translation,_gdk_windowing_window_queue_antiexpose):
Call gdk_window_queue_append().
2002-09-12 Tor Lillqvist <tml@iki.fi>
Merge from gtk-2-0:
* gdk/win32/gdkevents-win32.c: Some spacing and indentation cleanup.
* gdk/win32/gdkevents-win32.c (_gdk_events_init): Search if the
system has some input locale identifier that uses a Latin
keyboard. This is needed to be able to get the virtual-key code
for the latin characters corresponding to ASCII control
characters. If no such keyboard is present, try to load one
then. Will this upset users with no wish to ever use a Latin-based
keyboard layout?
(vk_from_char): Convert all ASCII control chars to the
corresponding uppercase char before calling VkKeyScanEx(). Idea by
Florent Duguet. Makes Control-C work again. To make it hopefully
work like I think it should on non-Latin keyboards, too, use
latin_locale when looking for the corresponding keycode.
Fix for #81831 by Tim Evans:
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't call
_gdk_event_button_generate() here, it would append the double- or
triple-click events too early, before the single-click event.
(real_window_procedure): If we got a single-click event, call
_gdk_event_button_generate() to perhaps append the double- or
triple-click event after that.
Merge from gtk-1-3-win32-production branch:
* gdk/win32/gdkevents-win32.c (propagate): Check for parent being
NULL before trying to propagate to it, and return FALSE in that
case. (If parent is NULL, we are handling gdk_parent_root, and
probably should have noticed that and bailed out earlier. But
better late than never.)
Tue Sep 10 11:11:09 2002 Owen Taylor <otaylor@redhat.com>
* gdk/linux-fb/*: Patch from Eric Warmonhoven to
get linux-fb compiling with multihead changes.
Tue Sep 10 09:29:00 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Take
focus mode into account when tracking FocusIn/Out events,
so we don't get confused by focus changes while a
keyboard grab is in effect. (Probably fixes#90563)
Fri Sep 6 15:35:01 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkgc.c (gdk_gc_new_with_values): Only set
gc->colormap if it isn't already set. (Alex Larsson,
#90632)
2002-09-05 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkwindow-win32.c (gdk_window_set_transient_for):
Use HWND_NOTOPMOST instead of HWND_TOPMOST. Suggested by Florent
Duguet.
2002-09-05 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkproperty-win32.c (gdk_property_change): Fix braino,
actually do check each char, not just the first one, when looping
through the text looking to insert CR in front of each LF. Bug
noticed and fix provided by Florent Duguet.
2002-08-31 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (_gdk_events_init): On Cygwin, open
/dev/windows instead of using the magic G_WIN32_MSG_HANDLE fd that
is implemented (in GLib) only on native Win32. (#91683, Masahiro
Sakai)
2002-08-26 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Use MAX_PATH
(from windef.h) insted of _MAX_PATH (from stdlib.h in mingw and
MSVC, but not there in Cygwin) (#91681, Masahiro Sakai).
2002-08-25 Tor Lillqvist <tml@iki.fi>
* gdk/gdkevents.c
* gdk/gdkinternals.h
* gdk/x11/gdkevents-x11.c
* gdk/win32/gdkevents-win32.c: Move the GdkEventPrivate and
GdkEventFlags definitions from gdkevents.c to
gdkinternals.h. Remove the duplicated definitions in
gdkevents-x11.c and gdkevents-win32.c. (#89771)
2002-08-24 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Let the
system handle Alt-Space, too. Thanks to Tim Evans (#91477).
2002-08-21 Tor Lillqvist <tml@iki.fi>
* gdk/Makefile.am: Move GDK_DEP_LIBS from LDFLAGS to each of the
libgdk_*_LIBADD, to fix problems when cross-compiling, as
suggested by J. Ali Harlow in #87103.
* gtk/gtkselection.c (gtk_selection_init): initialize
gtk_selection_atoms only once at the 1st call.
* gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
set length of selection data from number of read bytes (#90595)
* gdk/gdk-sections.txt: Remove gdk_screen_close, add a section
for GdkDisplayManager, add gdk_visual_get_screen and
gdk_colormap_get_screen.
* gdk/gdkdisplaymanager.c:
* gdk/gdkdisplay.c (gdk_pointer_ungrab): Fix doc comments.
* gdk/x11/gdkcolor-x11.c (gdk_colormap_get_screen):
* gdk/x11/gdkimage-x11.c (gdk_image_new_bitmap): Make parameter
names match those in the header file, to silence gtk-doc.
Sat Aug 10 22:18:05 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpixbuf-render.c
(gdk_pixbuf_render_pixmap_and_mask[_for_colormap]): Mention
in the docs that @pixmap_return and @mask_return can
be %NULL.
Thu Aug 8 23:26:05 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkmain-x11.c gdk/x11/gdkscreen-x11.c: Remove
explicit calls to pango_x/xft_shutdown_display() since
Pango now does it by itself on XCloseDisplay().
Mon Aug 5 17:01:30 2002 Owen Taylor <otaylor@redhat.com>
* gdk/Makefile.am (LDFLAGS): When overriding LDFLAGS,
include @LDFLAGS@, otherwise LDFLAGS the users passes
to configure don't get used. (#89946, Noah Levitt,
Albert Chin)
* gdk/linux-fb/Makefile.am: Remove LDFLAGS setting.
Mon Aug 5 15:25:40 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_pixmap_and_mask_for_colormap):
Fix problem with wrong depth being used. (#89941, Jacob
Berkman.) Remove an unneeded 'screen' variable.
Mon Aug 5 15:04:59 2002 Owen Taylor <otaylor@redhat.com>
More fixes for warnings reported by David L. Cooper II
* gtk/gtkaccelmap.c (accel_map_parse_accel_path): Use
GdkModifierType for accel_mods. (#85856)
* gdk/gdkdisplay.h (struct _GdkDisplay): Make button_number
signed, since we use -1 as an 'unset' value. (#85854)
* gdk/x11/xsettings-client.c (parse_settings): Suppress
a warning (#85853)
* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Fix
accidental trailing ';'. (#85846)
Mon Aug 5 15:04:59 2002 Owen Taylor <otaylor@redhat.com>
More fixes for warnings reported by David L. Cooper II
* gtk/gtkaccelmap.c (accel_map_parse_accel_path): Use
GdkModifierType for accel_mods. (#85856)
* gdk/gdkdisplay.h (struct _GdkDisplay): Make button_number
signed, since we use -1 as an 'unset' value. (#85854)
* gdk/x11/xsettings-client.c (parse_settings): Suppress
a warning (#85853)
* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Fix
accidental trailing ';'. (#85846)
Fri Aug 2 00:43:15 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.[ch] gdk/x11/gdkgc-x11.c
gdk/x11/gdkpango-x11.c gdk/x11/gdkpixmap-x11.c
gdk/x11/gdkprivate-x11.h gdk/x11/gdkwindow-x11.c:
Switch back to using XftDraw so that we take
advantage of the draw-to-non-RENDER capabilities
of Xft2.
* demos/gtk-demo/changedisplay.c (query_for_toplevel):
Fix the case where the user clicks on the "click on
a window popup".
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 Sven Neumann <sven@gimp.org>
Merge from stable:
* gdk/gdkrgb.c: trivial changes to some debug code so it compiles
with VERBOSE being defined.
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.
Fri Jul 26 16:34:34 2002 Shivram U <shivaram.upadhyayula@wipro.com>
* gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable),
(gdk_pixbuf_get_from_image), (rgbconvert), (convert_real_slow):
Check if depth of the source is not equal to the depth of the colormap
passed. (#75597)
2002-07-16 Sven Neumann <sven@gimp.org>
* gdk/gdk.c
* gdk/gdkinternals.h
* gdk/win32/gdkmain-win32.c
* gdk/x11/gdkmain-x11.c: pass argc and argv to the GDK backend in
_gdk_windowing_init() so that the backend has a chance to process
the command-line arguments (GTK+-DirectFB needs this).
Thu Jun 20 16:49:00 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkdisplaymanager.[ch] gdk/gdk.[ch] gdk/gdkdisplay.c
gdk/gdkinternals.h gdk/x11/gdkdisplay-x11.c
gdk/win32/gdkdisplay-win32.c: Add a singleton object that
we can use to get notification when displays
appear / disappear or the default display changes.
gdk_set_default_display() => gdk_display_manager_set_default_display()
gdk_list_displays() => gdk_display_manager_list_displays().
(#85696)
* gdk/Makefile.am gdk/gdkmarshalers.list: Add marshaler
generation.
* gdk/gdkintl.h: Add this.
* gtk/gtkmain.c: Add gtk_parse_args() that initializes
GTK+ without opening a display.
* gtk/gtkmain.c: Set things up so if a module
exports gtk_module_init() and gtk_module_display_init(),
then we treat it as multihead aware, otherwise,
we only initialize it after the default display is set.
Thu Jun 20 15:53:21 2002 Owen Taylor <otaylor@redhat.com>
Patch from Erwann Chenede.
* gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkprivate-x11.h:
Introduce a yes/no/unknown GdkTristate, use it
in a couple of places. (#79962)
* gdk/x11/gdkwindow-x11.c gdk/x11/gdkdisplay-x11.h: Make
gravity_works per-display. (#79963)
Thu Jun 20 14:51:30 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtksettings.c (gtk_settings_notify): Only
change the double click time if the screen for
the notification is screen 0 of the display.
(#77978)
* gdk/gdkevents.c (gdk_display_set_double_click_time): Fix
half-done rename.
Tue Jun 18 19:38:08 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkinput.c (_gdk_init_input_core): Set the
display.
* gdk/x11/gdkwindow-x11.c (_gdk_moveresize_handle_event): Fix
missing check for mv_resize == NULL.
Tue Jun 18 11:46:33 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (get_move_resize_data): Add
a gboolean create argument, so we don't create the
structure unless we actually emulate move-resize
drags.
Fri Jun 14 10:31:59 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed):
Ignore state change events for windows that aren't
our toplevels. (#84482, Thomas Leonard)
* gdk/gdkwindow.c (gdk_window_update_idle): Add
missing GDK_THREADS_ENTER()/GDK_THREADS_LEAVE().
(Report of non-thread-safety from Nicholas Allen)
* gtk/gtkmain.c (rewrite_events_translate): Fix sign
problem with coordinate translation. (Fix from
Robin Lu, #85229)
Thu Jun 13 18:48:14 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkcolor-x11.c: Make work
gdk_colormap_sync() work for DirectColor visuals
as well. Fill in the ->colors array in
gdk_screen_get_system_colormap () for DirectColor visuals.
(#81954, Based on a patch from shivaram.upadhyayula@wipro.com)
Thu Jun 13 15:02:49 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdnd-x11.c: Ignore all client events that
were sent to a window that we don't know about or
to a foreign window. (#81543, Young-Ho, Cha)
2002-06-10 Hans Breuer <hans@breuer.org>
* gdk/makefile.msc : added gdkdisplay and gdkscreen
* gdk/win32/gdkdisplay-win32.c (gdk_open_display) :
need to gdk_screen_set_default_colormap(). Also un-static
some exported gdk_display_*() functions
* gdk/win32/gdkdrawable-win32.c : added "gdkscreen.h"
* gdk/win32/gdkscreen-win32.c : implement
gdk_screen_get_number, fixed typo, added rewuired headers
[merge from 2.0.x branch, should we really manifest
GtkPlug as being an X11 only thing this way? See #58541]
* gtk/gtkwindow.c (gtk_window_show): Conditionalize
GTK_IS_PLUG() check on GDK_WINDOWING_X11. (Problem
reported by Sven Neumann)
2002-06-10 Tor Lillqvist <tml@iki.fi>
[ merge from stable ]
* gdk/win32/gdkmain-win32.c (gdk_screen_get_width_mm,
gdk_screen_get_height_mm): Use the "logical dpi" to calculate
(pseudo) physical sizes. Similar to the use of "logical dpi" in
Pango as suggested by Joaquin Cuenca Abela.
Two fixes by Florent Duguet:
* gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Correct
semantics for setting cursor to NULL (should use cursor of parent
window).
* gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get): Plug memory
leak.
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.
Mon May 20 15:02:21 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdisplay-x11.c: Patch from HideToshi Tajima
to handle Xlib internal connections. (#76681)
Thu May 16 12:50:13 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_xsettings_notify_cb):
gdk_event_put() copies the event and setting name,
so we don't have to strdup() it here. (Fix from
Michael Meeks, #81953)
Tue May 14 19:53:15 2002 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/geninclude.pl.in configure.in:
Subsitute in @PERL@ instead of hardcoded
/usr/bin/perl. (#78355, Gareth Pearce. Fix based
on patch from Matthias Clasen)
* gdk/Makefile.am: Patch from Daniel Elstner to use glib-mkenums
instead of makeenums.pl.
* gdk/{x11,linux-fb,win32}/Makefile.am: Hack to
get gdkenumtypes.h built first.
Tue May 14 18:13:10 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Fix
prepending at the start of the list. (#56349,
Thomas Leonard.)
* gtk/gtksignal.h (gtk_signal_disconnect_by_func): Add
explicit casts to GSignalMatchType for C++ compatibility.
(#77601)
Tue May 14 15:40:49 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-{linux-fb,win32,x11.c} (gdk_window_set_back_pixmap): Add a sanity g_return_if_fail() check for the depths
for the window and pixmap. (#79191, Shivaram Upadhyayula)
Tue May 14 15:09:33 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkkeys-x11.c: Try adding a #ifndef/#define
for XkbKeySymEntry to make up for OSF broken
XKB extension. (#77819, Gareth Pearce)
* gtk/gtklayout.c: Clamp the upper values in response
to ::size-allocate if necessary. (#81290, Christophe Saout)
* gtk/gtkcombo.c (gtk_combo_entry_focus_out): Handle
combo being destroyed before idle fires.
(#81396, Timo Sirainen)
Tue May 14 11:21:19 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate):
Discard configure events from SubstructureNotify.
(#81760, Rich Burridge)
* gtk/gtkfontsel.c (cmp_families): Use g_utf8_strcoll(), not
strcmp().
* gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): Clamp
width of child allocation to >= 1. (Fixes warnings from
#77639, Martin Schulze)
Tue May 7 18:36:03 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/xsettings-client.c (xsettings_client_process_event):
Check for selection_atom, not property name atom.
2002-05-07 Anders Carlsson <andersca@gnu.org>
* gdk/x11/xsettings-client.c (xsettings_client_process_event):
Only process manager events with the correct atom.
* gdk/x11/gdkwindow-x11.c (gdk_window_new):
(gdk_window_set_events): Always select for property notify for
maintaining window state.
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Only propagate
property notifys if they were selected by gdk_window_set_events.
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-01 Erwann Chenede - <erwann.chenede@sun.com>
* gdk/gdkpixmap.[hc] (gdk_pixmap_get_screen):
* x11/gdkpixmap-x11.c:
removed that function as gdk_drawable_get_screen
does the job. #79964
2002-05-01 Anders Carlsson <andersca@gnu.org>
* gdk/x11/gdkevents-x11.c
(gdk_x11_screen_supports_net_wm_hint): Use the same
key when setting and getting NetWmSupportedAtoms.
Tue Apr 30 14:23:43 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdisplay-x11.c (gdk_open_display): fix
problem with finalizing non-initialized fully display
when failing to open display.
* tests/testxinerama.c: Xinerama test case from
multihead branch, with some cleanups. (Start even
if there is only one monitor, for one.)
Tue Apr 30 12:28:27 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkdisplay.c gdk/gdkpango.c gdk/gdkpixmap.c
gdk/x11/gdkdisplay-x11.c gdk/x11/gdkevents-x11.c
gdk/x11/gdkpixmap-x11.c gdk/x11/gdkx.h: Doc fixes.
Tue Apr 30 11:37:09 2002 Owen Taylor <otaylor@redhat.com>
* modules/input/gtkimcontextxim.c: Make multihead-safe;
use a different IM context per display.
* configure.in acconfig.h: Add Xinerama checks from
multihead branch, changing HAS_XINERAMA => HAVE_XINERAMA.
* gdk/x11/gdkdisplay-x11.c: HAS_XINERAMA => HAVE_XINERAMA.
2002-04-29 Alex Larsson <alexl@redhat.com>
* gdk/gdkpango.c (gdk_draw_layout_line_with_colors):
Use tmp also if foreground is set.
2002-04-27 Anders Carlsson <andersca@gnu.org>
* gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new_for_display):
Use GDK_DISPLAY_XDISPLAY instead of GDK_SCREEN_XDISPLAY since
we pass in a GdkDisplay * in the macro.
2002-04-26 Anders Carlsson <andersca@gnu.org>
* gdk/gdkdisplay.c: (gdk_set_default_display):
Call _gdk_windowing_set_default_display.
* gdk/gdkinternals.h:
* gdk/x11/gdkmain-x11.c: (_gdk_windowing_set_default_display):
New function that sets gdk_display to the default display.
Fixes#79965
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-21 Alexander Larsson <alla@lysator.liu.se>
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent):
Save x and y in window_private.
* gtk/gtkplug.c (_gtk_plug_add_to_socket):
Move plug window outside the visible area to avoid flashing until
the first size_allocate.
Sat Apr 20 16:49:26 2002 Kristian Rietveld <kris@gtk.org>
* gdk/x11/gdkpixmap-x11.c (gdk_pixmap_new): replace GDK_IS_WINDOW
with GDK_IS_DRAWABLE in the assert, only check GDK_WINDOW_DESTROYED
if window is a GdkWindow,
(gdk_bitmap_create_from_data): ditto,
(gdk_pixmap_create_from_data): ditto
* TODO, TODO.xml, README.nanox, docs/Changes-1.2.txt,
docs/Changes-2.0.txt, docs/gtk-config.txt, docs/debugging.txt,
gdk/TODO: Remove some files whose content is either obsolete or
has been moved elsewhere.
* Makefile.am, gtk+.spec.in, docs/Makefile.am: Remove references
to these files.
2002-04-18 Tor Lillqvist <tml@iki.fi>
* gdk-pixbuf/Makefile.am (uninstall-libtool-import-lib)
* gdk/Makefile.am (uninstall-libtool-import-lib): Fix typo,
thanks to David Sterba for noticing.
* gtk/gtkmain.h
* gtk/gtkmain.c (gtk_init_abi_check, gtk_init_check_abi_check): In
GTK+ 2.0 the GtkWindow struct actually is the same size in gcc on
Win32 whether compiled with -fnative-struct or not. Unfortunately
this wan't noticed until now. So, from now on, check some other
struct, too, for which the use of -fnative-struct still
matters. GtkBox is one such.
2002-04-13 Havoc Pennington <hp@pobox.com>
* gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): create
the target pixbuf AFTER filling in width/height, so that
passing in -1 for width/height will work.
2002-04-04 Tor Lillqvist <tml@iki.fi>
* gdk/gdkrgb.c: Fix some bugs, and introduce a minor feature.
(gdk_rgb_convert_4_pack): New function, for 16-color (4 bits per
pixel) static visuals (fixes#858).
(gdk_rgb_convert_gray4_pack, gdk_rgb_convert_gray4_d_pack): Fix
same bugs in both functions: Odd start coordinate (partial byte)
was not handled correctly. Also a partial final byte was not
handled correctly.
(gdk_rgb_do_colormaps): Use G_N_ELEMENTS.
(gdk_rgb_create_info): For pseudocolor visuals, use the 2x2x2
colorcube only for depths 3 and 4. For static color, use it for
depths 3..7 like before. (Depth 5..7 pseudocolor probably never
occurs on X11. It doesn't normally occur on Win32 either, but
there is experimental code in gdkvisual-win32.c to let the user
restrict the size of palette used.)
(gdk_rgb_init): Set gdk_rgb_verbose if the GDK_DEBUG_GDKRGB flag
is set.
(gdk_rgb_select_conv): Use gdk_rgb_convert_8 also for depths 5, 6
and 7 (see above). Use gdk_rgb_convert_4_pack for 4 bits per pixel
static color.
2002-03-29 Hans Breuer <hans@breuer.org>
Fixed dashed line issues (#74441) to an IMO reasonable extend.
That is: use PS_USERSTYLE on WinNT (the next GDI limit appears
to be with lines width > 50); Render horizontal and vertical
dashed lines on Win9x 'by hand'. Dotted selection rectangles
and Dia look nice ...
* gdk/win32/gdkprivate-win32.h : add pen_dashes pointer and
num_pen_dashes to _GdkGCWin32
* gdk/win32/gdkgc-win32.c : initialize pen_dashes and remove
the guesses from dashes to windoze line styles.
(predraw_set_forground) : always ExtCreatePen (PS_SOLID) on
Win9x, which does not support PS_USERSTYLE.
* gdk/win32/gdkdrawable-win32.c : new functions render_line_
<horizontal|vertical>. Use them if not running on NT in
gdk_win32_draw_<rectangle|segments|lines> ()
* gdk/win32/gdkkeys-win32.c (gdk_keyval_name) : return NULL
for keyval == 0 to avoid to have zeros in all menu entries
without accelerator.
2002-03-22 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkfont-x11.c (gdk_fontset_load): add more explanatory
text to the error message about missing charsets, and use
g_printerr() not g_warning() since this is typically not a
programming error (we do not export any API to ask whether
a font set will have missing charsets so apps realistically can't
do anything other than try the gdk_fontset_load())
* gtk/gtktextview.c (gtk_text_view_key_press_event): return FALSE
if the text view isn't editable and the user presses Return,
so default buttons and such can be activated, #74937
* gtk/gtktextbuffer.c (paste_from_buffer): don't insert
if the insertion point is not editable and the paste
is interactive, #74125
* gtk/gtkwindow.c (gtk_window_move_resize): enhance the #if 0
debug spew
* gtk/gtktextbuffer.c (cut_or_copy): only remove the previous
cut/copied data right before replacing it, when we know we are
going to replace it. Fixes#74049
Fri Mar 22 10:56:19 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkaccelmap.c (gtk_accel_map_save_fd): Fix memory
leak. (#74400, Morten Welinder.)
* gtk/gtkaccelmap.c: Properly handle short returns from
write() calls. (Handling EINTR isn't enough... that only
handles the case where you were interrupted before you
wrote a single byte.)
* gdk/linux-fb/gdkmouse-fb.c gdk/linux-fb/gdkkeyboard-fb.c:
Robustify against short returns from write() calls.
2002-03-22 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Don't clear
all of the pen_style, just the PS_STYLE_MASK. Seems to fix#74441,
but that is just the special case of one-pixel wide one-pixel
on-off dotted lines. To fully implement generic X11 style dashed
lines a major rewrite would be needed.
Thu Mar 21 10:04:05 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.c (gdk_window_real_get_depth): Remove
some left over debugging code with a G_BREAKPOINT()
in it.
2002-03-20 Alex Larsson <alexl@redhat.com>
Patches from Carlo E. Prelz <fluido@fluido.as>
Now gtkfb at least compiles and mostly works. The keyboard
stuff needs more loving.
* gdk/linux-fb/gdkkeyboard-fb.c (xlate_get_for_keyval,
xlate_get_for_keycode, raw_get_for_keyval, raw_get_for_keycode):
At least set the out parameters for these calls.
* gdk/linux-fb/gdkmain-fb.c:
(gdk_pointer_grab_info_libgtk_only, gdk_keyboard_grab_info_libgtk_only):
Implement new functions.