Owen Taylor [Mon, 9 Dec 2002 02:41:51 +0000 (02:41 +0000)]
Fix a lost refcount in the case where we get a duplicate back from the X
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.
Owen Taylor [Mon, 9 Dec 2002 02:25:14 +0000 (02:25 +0000)]
When allocating non-writeable colors, fill in the flags field of the
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.
Owen Taylor [Mon, 9 Dec 2002 02:02:27 +0000 (02:02 +0000)]
More fixes for GdkColormapX11 (#100023, Naofumi Yasufuku)
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.
Owen Taylor [Mon, 9 Dec 2002 01:29:34 +0000 (01:29 +0000)]
Fixes for GdkColormapX11 (#100023, Naofumi Yasufuku)
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.
Tor Lillqvist [Mon, 9 Dec 2002 00:43:42 +0000 (00:43 +0000)]
Merge from stable:
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)
Owen Taylor [Sun, 8 Dec 2002 23:32:29 +0000 (23:32 +0000)]
Remove left-over NULL checks that were preventing the NULL to "unmodify"
Sun Dec 8 18:28:51 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_modify_fg/bg/base/text/font):
Remove left-over NULL checks that were preventing the
NULL to "unmodify" feature from actually working.
Owen Taylor [Wed, 4 Dec 2002 19:50:57 +0000 (19:50 +0000)]
Always look up and create the Motif drag window as a child of the root
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.
Owen Taylor [Wed, 4 Dec 2002 18:07:08 +0000 (18:07 +0000)]
Add back the monitoring of the selection when the combo isn't popped down;
Wed Dec 4 12:44:50 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcombo.c (gtk_combo_selection_changed): Add
back the monitoring of the selection when the combo
isn't popped down; apparently people depended upon
the side-effect where gtk_combo_set_popdown_strings()
would wipe out the contents of the list when browse-mode
autoselected the first item in the list. (#100347)
add a gtk_list_store_sort_iter_changed line for some special case ...
Tue Nov 26 22:26:04 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtk{tree,list}store.c (gtk_{tree,list}_store_real_set_value):
add a gtk_list_store_sort_iter_changed line for some special
case ... (#96647 (issue 1), testcases from Soeren Sandmann and
Daniel Elstner).
Tue Nov 26 22:18:06 2002 Kristian Rietveld <kris@gtk.org>
Inconsistent state for toggle renderers, requested by Paolo Bacchilega
in #88130.
Tue Nov 26 22:06:29 2002 Kristian Rietveld <kris@gtk.org>
Yes, this chunk breaks ABI compatibility. Owen knows about it and
agreed with it. It doesn't break ABI that bad though, things will
still work. Please keep it silent :P.
This patch fixes some keynav issues reported by Narayana Pattipati
in #81633. (Also mentioned in #92037 (Sun tracking bug)).
* gtk/gtkmarshalers.list: add two silly marshalers
* gtk/gtktreeview.[ch] (gtk_tree_view_real_select_all),
(gtk_tree_view_real_unselect_all),
(gtk_tree_view_real_select_cursor_row),
(gtk_tree_view_real_toggle_cursor_row),
(gtk_tree_view_real_expand_collapse_cursor_row),
(gtk_tree_view_real_start_interactive_search): change the return
type from void to gboolean, update prototypes, functions, signals and
entries in GtkTreeViewClass,
(gtk_tree_view_class_init): add select_cursor_row binding for
enter key,
(gtk_tree_view_key_press): only navigate the header button if the
header is also visible ...
Tue Nov 26 22:05:48 2002 Kristian Rietveld <kris@gtk.org>
API bit of #75745, reported by Richard Hult.
* gtk/gtkcellrenderer.h (GtkCellRendererState): add
GTK_CELL_RENDERER_FOCUSED, rest of this bug fix will follow later.
Soeren Sandmann [Mon, 25 Nov 2002 23:38:49 +0000 (23:38 +0000)]
draw text twice, once with the prelight state and clipped to the progress
Tue Nov 26 00:40:53 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkprogressbar.c (gtk_progress_bar_paint_text): draw text
twice, once with the prelight state and clipped to the progress
bar, and once with the normal state and clipped to the visible
part of the trough. Also fix a spelling error pointed out by
Matthias Clasen.
Owen Taylor [Mon, 25 Nov 2002 22:52:36 +0000 (22:52 +0000)]
Fixes from #98358, Havoc Pennington.
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.
Owen Taylor [Mon, 25 Nov 2002 22:29:32 +0000 (22:29 +0000)]
Fix missing adjustments for new type of
Mon Nov 25 17:10:54 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtksettings.c (gtk_settings_set_property_value):
Fix missing adjustments for new type of
gtk_settings_set_property_value_internal(). (#99436,
Iain Holmes.)
* gtk/gtksettings.c (apply_queued_setting): Set the
source _after_ we call g_object_set_property, or otherwise
we get the APPLICATION source from our setter
implemenatation.
Tor Lillqvist [Mon, 25 Nov 2002 22:17:46 +0000 (22:17 +0000)]
Enclose in #ifdef G_ENABLE_DEBUG, as they use functions only available
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)
Soeren Sandmann [Mon, 25 Nov 2002 18:03:34 +0000 (18:03 +0000)]
Break this function into simpler functions: gtk_progress_bar_paint_text(),
Mon Nov 25 18:56:55 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkprogressbar.c (gtk_progress_bar_paint): Break this
function into simpler functions:
gtk_progress_bar_paint_text(), gtk_progress_bar_paint_discrete(),
gtk_progress_bar_paint_continous(),
gtk_progress_bar_paint_activity().
Owen Taylor [Mon, 25 Nov 2002 17:45:32 +0000 (17:45 +0000)]
Remove code to grab the focus here, it is no longer needed since we focus
Mon Nov 25 12:34:44 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdialog.c (gtk_dialog_set_default_response):
Remove code to grab the focus here, it is no longer
needed since we focus a widget on map, and can cause
harm. (#99048, Daniel Elstner)
Tor Lillqvist [Sun, 24 Nov 2002 23:54:01 +0000 (23:54 +0000)]
Merge from stable:
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.
(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)
return a value in the range of [-1, 1] instead [0, 1],
Wed Nov 20 19:29:50 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtkrbtree.c (gtk_rbtree_reorder_sort_func): return a value
in the range of [-1, 1] instead [0, 1],
(gtk_rbtree_reorder_invert_func): ditto,
This makes treeview reordering working on platforms as FreeBSD and
solaris, thanks go to Heiner Eichmann for finding this out and
sending in a patch (#98251).
Wed Nov 20 19:27:07 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreestore.c (node_free): only free the data list if
node->data is not NULL,
(gtk_tree_store_remove): free the data list from the node if
needed. (#94728, pointed out by Peter Bloomfield).
Wed Nov 20 19:23:13 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_remove_column): stop editing
and set the edited_column to NULL if edited_column is set.
(#91288, modified patch from Josh Parsons).
Wed Nov 20 19:20:34 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): do a full
redraw if vadjustment->value is bigger than tree_view->priv->height,
(gtk_tree_view_row_deleted): free the row ref if it isn't valid
anymore. (#83726, reported by Robert Kinsella).
* gtk/gtkcolorsel.c: move gtk_color_selection_set_color implementation
to set_color_internal, and use that. The deprecated function now
merely wraps it.
* gtk/gtkfontsel.c: same as above, except with
gtk_font_selection_get_font.
* gtk/gtknotebook.c: same as above, except with
gtk_notebook_set_homogeneous, and gtk_notebook_set_tab_{border,
hborder,vborder}.
* gtk/gtkprogressbar.c: same as above, except with
gtk_progress_bar_set_{bar_stype,discrete_blocks,activity_step,
activity_blocks}.
* gtk/gtkstyle.c: same as above, except with gtk_style_get_font.
* gtk/gtkwidget.c: same as above, except with gtk_widget_set_usize.
* gtk/gtkitemfactory.h: declare compatibility functions for deprecated
GtkMenuFactory stuff if GTK_COMPILATION, since they are used
internally by the compat code.
* gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove
use of deprecated gtk_check_menu_item_set_show_toggle (it is a noop
now).
* gtk/gtkmain.c: replaced deprecated GTK_TYPE_* with G_TYPE_*.
* gtk/gtkobject.c: replaced various deprecated functions. In set and
get_property, use g_object_{set,get}_data with "user_data" instead
of gtk_object_{set,get}_user_data.
* gtk/gtkprogress.h: API declared if GTK_COMPILATION
* gtk/gtkprogress.c: port get_type to GObject API.
* gtk/gtktypeutils.h: declare GtkArg stuff and gtk_type_init,
if GTK_COMPILATION.
* gtk/gtkwidget.c: define gtk_widget_queue_clear in terms of
gtk_widget_queue_draw instead of the other way around.
Matthias Clasen [Tue, 19 Nov 2002 21:18:23 +0000 (21:18 +0000)]
Add a dummy widget and pass it as first argument to the various create
* tests/testgtk.c (do_bench):
(do_real_bench):
(bench_iteration): Add a dummy widget and pass it as first
argument to the various create functions when in --bench mode,
since these call gtk_widget_get_screen () on their first argument.
modify and free tmp instead of path ... (patch from #97927).
Mon Nov 18 20:42:27 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_expand_to_path): modify and
free tmp instead of path ... (patch from #97927).
Mon Nov 18 20:31:20 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing):
only _set_text if celltext->text is not NULL. (#97815, reported
and testcase provided by Vitaly Tishkov).
Mon Nov 18 20:28:28 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeselection.c (gtk_tree_selection_real_modify_range):
also update the anchor_path, makes behaviour consistent with the
other selection modification functions. (#96801, reported and
testcase provided by Vitaly Tishkov).
Mon Nov 18 20:17:56 2002 Kristian Rietveld <kris@gtk.org>
Hrm, this fixes up lots of mistakes in my swap/move code ... Some
of these mistakes where pointed out by Vitaly Tishkov in bugs
#97403, #97404, #97412, #97618.
* gtktreestore.[ch]: gtk_tree_store_move is now private, use
gtk_tree_store_move_{before,after} instead now. Lots of fixes
(more like a rewrite :) in the _move and _swap functions.
Manish Singh [Sun, 17 Nov 2002 22:04:03 +0000 (22:04 +0000)]
add -DGDK_DISABLE_DEPRECATED
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