Compare commits

...

827 Commits

Author SHA1 Message Date
YunQiang Su
7230c549b0 fix an typo in zh_CN translation 2012-08-18 11:25:55 +08:00
krishnababu k
226089078a Corrected string occurrence calendar 2010-08-19 21:08:59 +05:30
Manoj Kumar Giri
d1e5d000b4 Upadted Oriya Translation 2009-09-15 18:07:24 +05:30
Amitakhya Phukan
cd9cd0cd67 Updated assamese translations
svn path=/branches/gtk-2-10/; revision=20856
2008-07-17 06:35:36 +00:00
Cody Russell
2b5cc9269d Merge from trunk:
2008-03-23  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

        * gdk/win32/gdkevents-win32.c (show_window_recurse):
        Check window state for GDK_WINDOW_STATE_ICONIFIED before doing
        ShowWindow (SW_RESTORE).  This fixes a problem where tearing off
        menus from a maximized window would force the window to restore
        its size. (#518846)


svn path=/branches/gtk-2-10/; revision=19928
2008-03-23 15:39:45 +00:00
Gil Forcada Codinachs
ec1b5afc2d Updated Catalan translation by David Planella
svn path=/branches/gtk-2-10/; revision=19718
2008-03-06 08:18:02 +00:00
Cody Russell
b9d58f9c14 Merge from trunk:
2008-02-07  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

        * gdk/win32/gdkevents-win32.c
        * gdk/win32/gdkwindow-win32.c: Fixed two declarations in the middle
        of a block that were causing compile problems on old
        compilers. (#515053, reported by Kazuki IWAMOTO)


svn path=/branches/gtk-2-10/; revision=19494
2008-02-07 19:27:10 +00:00
Cody Russell
18b147a2a7 Also check that the window is not mapped.
svn path=/branches/gtk-2-10/; revision=19487
2008-02-06 17:04:26 +00:00
Cody Russell
1169fcecca Merge from trunk:
2008-02-06  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

        * gdk/win32/gdkevents-win32.c: Check if the window is a temp window,
        otherwise things get wonky when you click on a menu.  This fixes
        a regression caused in #505928.  Thanks to Tor for spotting this
        one!  (#514789)


svn path=/branches/gtk-2-10/; revision=19484
2008-02-06 16:36:56 +00:00
Cody Russell
8464059e02 Merged from trunk:
2008-02-05  Cody Russell  <bratsche@gnome.org>

	Merged from trunk:

        * gdk/win32/gdkwindow-win32.c (_gdk_modal_current): Walk
        down the stack until we get to a window that is mapped.
        Otherwise hiding a window will cause all windows in the app
        to be blocked. (#514643)


svn path=/branches/gtk-2-10/; revision=19478
2008-02-05 23:47:25 +00:00
Cody Russell
f2f0568d1e Merged from trunk:
2008-02-05  Cody Russell  <bratsche@gnome.org>

        Merged from trunk:

        * gdk/win32/gdkprivate-win32.h
        * gdk/win32/gdkevents-win32.c
        * gdk/win32/gdkwindow-win32.c
        * gdk/win32/gdkwindow-win32.h
        * gdk/win32/gdkwin32.h:
        Modal window rework.  (#455627 and #511111)


svn path=/branches/gtk-2-10/; revision=19473
2008-02-05 22:35:29 +00:00
Cody Russell
685fe6c7f7 Merge from trunk:
2008-02-05  Cody Russell  <bratsche@gnome.org>

        Merge from trunk:

        * gdk/win32/gdkevents-win32.c:
        Refactored some of the window hiding/showing code from
        WM_ACTIVATE to WM_SIZE and WM_SYSCOMMAND.  Having this
        under WM_ACTIVATE was causing the application to go into
        a weird state when the user right-clicked on the taskbar
        entry of a window that was minimized.  (#505928)


svn path=/branches/gtk-2-10/; revision=19472
2008-02-05 22:32:09 +00:00
Cody Russell
0c599fd74b Merged from trunk:
2008-02-05  Cody Russell  <bratsche@gnome.org>

        Merged from trunk:

        * gdk/win32/gdkwindow-win32.c: (gdk_window_set_transient_for),
        Properly ref/unref windows and parents.  (#506769)


svn path=/branches/gtk-2-10/; revision=19471
2008-02-05 22:29:14 +00:00
Cody Russell
4d4d073ecc Merged from trunk:
2008-02-05  Cody Russell  <bratsche@gnome.org>

        Merged from trunk:

        * gdk/win32/gdkevents-win32.c (show_window_recurse): Check that
        the window is mapped before setting SW_RESTORE or SW_MINIMIZE.
        Fixes a regression caused by #164537 patch where transient
        windows that are hidden get shown (incorrectly) when their
        parents are minimized. (#504984)


svn path=/branches/gtk-2-10/; revision=19470
2008-02-05 22:27:26 +00:00
Cody Russell
edd1bbf804 Merge from trunk:
2008-02-05  Cody Russell  <bratsche@gnome.org>

        Merge from trunk:

        * gtk/gtkpaned.c (gtk_paned_set_position):
        Change queue_resize() to queue_draw(), and add a check for
        child2 != NULL in case someone calls this before there is
        a child packed in there.  (#144269 again)


svn path=/branches/gtk-2-10/; revision=19469
2008-02-05 22:25:20 +00:00
Cody Russell
5183f13feb gdk/win32/gdkevents-win32.c Force non-modal transient dialogs to iconify
008-02-05  Cody Russell  <cody@jhu.edu>

        * gdk/win32/gdkevents-win32.c
        * gdk/win32/gdkwindow-win32.[ch]: Force non-modal transient dialogs
        to iconify with their parents on Win32.  Maintain a list of transient
        children, and whenever a window is hidden or restored we now do the
        same thing to all connected transient windows above and below the
        current window in the chain.  See comment under WM_ACTIVATE for the
        reasons why.  (#164537, #371036, #405178)


svn path=/branches/gtk-2-10/; revision=19467
2008-02-05 22:23:16 +00:00
Matthias Clasen
fab2d2fd64 Emit the notify::model signal. (#509819, David Zeuthen)
2008-01-16  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcombobox.c (gtk_combo_box_set_model): Emit
        the notify::model signal.  (#509819, David Zeuthen)



svn path=/branches/gtk-2-10/; revision=19375
2008-01-16 05:29:25 +00:00
Attilio Fiandrotti
f8cfc0211b Merge from trunk:
2007-12-11  Attilio Fiandrotti  <attilio.fiandrotti@gmail.com>

	Merge from trunk:

	* gdk/directfb/gdkdrawable-directfb.c: Applied a patch by Claudio
	Ciccani	which fixes the mixing of gdk and cairo rendering.

svn path=/branches/gtk-2-10/; revision=19162
2007-12-11 20:12:41 +00:00
Kostas Papadimas
c6e2843774 Updated Greek translation
svn path=/branches/gtk-2-10/; revision=19156
2007-12-11 08:14:42 +00:00
Kostas Papadimas
c0c9c9a561 Updated Greek translation
svn path=/branches/gtk-2-10/; revision=19154
2007-12-11 08:03:45 +00:00
Attilio Fiandrotti
59fe4d3d11 Minor fix to code added in r19133
svn path=/branches/gtk-2-10/; revision=19138
2007-12-09 22:55:12 +00:00
09:56:06 Attilio Fiandrotti
1d2cadad54 Merge from trunk:
2007-12-09 09:56:06  Attilio Fiandrotti  <attilio.fiandrotti@gmail.com>

	Merge from trunk:

	* gdk/directfb/gdkgc-directfb.c:
	* gdk/directfb/gdkdrawable-directfb.c:
	* gdk/directfb/gdkdirectfb.h:
	* gdk/directfb/gdkwindow-directfb.c:
	* gdk/directfb/gdkprivate-directfb.h: Committed several patches
	(window_flip_group, no_background_pixmap_fix, opt_temp_region2,
	blit_after_cairo_fix, rect_clip_fix, fast_blend, opt_temp_region_etc,
	opt_clip_region_and_fill_rects, no_state_resets) by Denis Oliver Knopp
	which are expected to improve the performance of the DirectFB backend.
	Experimental pieces of code (GDK_DIRECTFB_NO_EXPERIMENTS) are disabled.

svn path=/branches/gtk-2-10/; revision=19133
2007-12-09 10:12:21 +00:00
Attilio Fiandrotti
232c17d28e Committed a patch by DOK to fix GDK events generations in the DirectFB backend
svn path=/branches/gtk-2-10/; revision=19123
2007-12-06 17:47:58 +00:00
Cody Russell
cf6c3d995c Merge from trunk:
2007-12-4  Cody Russell  <cody@jhu.edu>

        Merge from trunk:

        * modules/engines/ms-windows/msw_style.c: Draw focus rect for
        buttons with relief set to GTK_RELIEF_NONE. (#487954)


svn path=/branches/gtk-2-10/; revision=19106
2007-12-04 18:26:01 +00:00
Cody Russell
6c822e0d52 Merge from trunk:
2007-12-4  Cody Russell  <cody@jhu.edu>

        Merge from trunk:

        * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc:
        Disable beeps when backspacing in textviews by default on
        Win32 systems. (#490624, Daniel Atallah)


svn path=/branches/gtk-2-10/; revision=19105
2007-12-04 18:22:04 +00:00
Cody Russell
05a446c33f Merge from trunk:
2007-12-4  Cody Russell  <bratsche@gnome.org>

        Merge from trunk:

        * gtk/gtkpaned.c: (gtk_paned_set_position) [Win32]:
        On Windows, queue a redraw of child2 whenever we set
        the pane handle position.  This is unfortunately kind
        of hacky, but solves the visual artifacts that were
        occuring on at least certain types of child widgets
        (e.g., text views and tree views) that are inside
        horizontal or vertical panes. (#144269)


svn path=/branches/gtk-2-10/; revision=19104
2007-12-04 18:18:05 +00:00
Djihed Afifi
6f2195f951 Updated Arabic Translation by Khaled Hosny.
svn path=/branches/gtk-2-10/; revision=18933
2007-10-21 16:46:35 +00:00
Murray Cumming
0670cac1a8 Revert the change on 2007-04-29 (Also check the default handler when
2007-10-05  Murray Cumming  <murrayc@murrayc.com>

* gtk/gtkprintoperation.c: (print_pages_idle):
Revert the change on 2007-04-29 (Also check
the default handler when deciding whether to emit the
paginate signal.  (#345345, Yevgen Muntyan)).
This stopped printing from working in gtkmm, and is apparently 
not appropriate anyway. Bug #482089.

svn path=/branches/gtk-2-10/; revision=18886
2007-10-05 08:39:51 +00:00
Djihed Afifi
5d96b5d1a4 Updated Arabic Translation by Khaled Hosny.
svn path=/branches/gtk-2-10/; revision=18819
2007-09-13 22:49:15 +00:00
Jovan Naumovski
d7af453bc3 2007-09-10 Jovan Naumovski <jovanna@svn.gnome.org> *mk.po: Updated Macedonian translation.
svn path=/branches/gtk-2-10/; revision=18784
2007-09-10 11:47:00 +00:00
Hendrik Richter
152fcf61d4 Updated German translation.
2007-09-10  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.

svn path=/branches/gtk-2-10/; revision=18780
2007-09-10 09:38:38 +00:00
Stefan Kost
334e6c9cf6 Merge from trunk: Update menu accelerators, when adding/removing
Merge from trunk:
	* gtk/gtkwindow.c: Update menu accelerators, when adding/removing
	AccelGroups dynamically. (#469374)


svn path=/branches/gtk-2-10/; revision=18692
2007-08-27 17:47:41 +00:00
Cody Russell
2410a9bf3a Merge from trunk:
2007-08-27  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

        * modules/engines/ms-windows/msw_style.c: Correct draw_box()
        function to check detail for "notebook".  This fixes a problem
        where notebooks without visible headers were not styling
        correctly. (#470033, Daniel Atallah and Cody Russell)


svn path=/branches/gtk-2-10/; revision=18690
2007-08-27 16:30:12 +00:00
Cody Russell
341f865933 Merge from trunk:
2007-08-16  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

        * gdk/win32/cursor.bdf: Committing changes to the source
        bdf font file that I forgot to commit yesterday for #458088.


svn path=/branches/gtk-2-10/; revision=18640
2007-08-17 03:41:50 +00:00
Cody Russell
a8d2a24a30 Merge from trunk:
2007-08-15  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

        * gdk/win32/xcursors.h: Modified the sb_h_double_arrow and
        sb_v_double_arrow mouse cursors to match the ones that Windows
        uses for split container controls.  This allows our paned
        widgets to be more easily identified as paned widgets on
        Windows, since we don't have any prelighting on the draggable
        pane part.  (#458088)


svn path=/branches/gtk-2-10/; revision=18638
2007-08-17 03:33:51 +00:00
Cody Russell
f0a55b2889 Merge from trunk:
2007-08-15  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

        * gtk/gtkcontainer.c: Another documentation fix that I forgot to
        commit yesterday.  (#459340, Guillaume Cottenceau)


svn path=/branches/gtk-2-10/; revision=18620
2007-08-15 14:52:11 +00:00
Cody Russell
1e1607b66f Merge from trunk:
2007-08-14  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

        * gtk/gtkwidget.c
        * gtk/gtkscrolledwindow.c
        * gtk/gtklabel.c: Correct documentation that refers to the
        deprecated gtk_widget_set_usize() API.  Refer instead to
        gtk_widget_set_size_request().  (#459340, Guillaume Cottenceau)


svn path=/branches/gtk-2-10/; revision=18614
2007-08-14 22:46:25 +00:00
Kenneth Nielsen
7a2440bc98 Updated Danish translation
svn path=/branches/gtk-2-10/; revision=18604
2007-08-12 15:15:51 +00:00
Sven Neumann
e61612c69e change the file extension when the file format is changed in the Print
2007-08-09  Sven Neumann  <sven@gimp.org>

	* modules/printbackends/file/gtkprintbackendfile.c: change the
	file extension when the file format is changed in the Print dialog
	(#356630).

svn path=/branches/gtk-2-10/; revision=18601
2007-08-09 15:05:43 +00:00
Attilio Fiandrotti
62f5174765 Attempts to load stock X cursors no longer results in annoying error messages under DirectFB
svn path=/branches/gtk-2-10/; revision=18550
2007-07-27 16:31:38 +00:00
Matthias Clasen
3147b2c5a3 Silence the icon cache validator
svn path=/branches/gtk-2-10/; revision=18542
2007-07-25 02:21:28 +00:00
Ross Burton
927532b81c Correctly redraw when gtk-scrolled-window-placement is changed after the
2007-07-23  Ross Burton  <ross@openedhand.com>

	* gtk/gtkscrolledwindow.c:
	Correctly redraw when gtk-scrolled-window-placement is changed
	after the widget is realised (#458102)

svn path=/branches/gtk-2-10/; revision=18524
2007-07-23 15:47:39 +00:00
Matthias Clasen
33015d3906 Bump version
svn path=/branches/gtk-2-10/; revision=18485
2007-07-16 21:28:27 +00:00
Matthias Clasen
af839f96ec 2.10.14
svn path=/branches/gtk-2-10/; revision=18483
2007-07-16 21:26:42 +00:00
Matthias Clasen
c8dad88500 Fix the build
svn path=/branches/gtk-2-10/; revision=18482
2007-07-16 20:09:11 +00:00
Matthias Clasen
aecafcc92e Updates
svn path=/branches/gtk-2-10/; revision=18481
2007-07-16 19:51:10 +00:00
Matthias Clasen
e8ea8cb534 Merge from trunk:
2007-07-16  Matthias Clasen  <mclasen@redhat.com>

        Merge from trunk:

        * io-tiff.c: Revert the last change, it was wrong
        * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Redo the last
        change in a different way.


svn path=/branches/gtk-2-10/; revision=18480
2007-07-16 19:11:13 +00:00
Cody Russell
fb56ad6a2b Merge from trunk:
2007-07-12  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

	* gdk/win32/gdkevents-win32.c
	* gdk/win32/gdkwindow-win32.[ch]: Fix transient windows on Win32 
	so that when a transient child window is closed (particularly when 
	there are 3 or more levels of transient windows), the correct window
	receives focus rather than a seemingly random window. (#112404) 


svn path=/branches/gtk-2-10/; revision=18462
2007-07-12 23:40:43 +00:00
Attilio Fiandrotti
2c9eedd1b3 Fixed memory leak at window closing in DirectFB backend, patch provided by Simon Lanzmich
svn path=/branches/gtk-2-10/; revision=18460
2007-07-12 17:13:54 +00:00
Tor Lillqvist
bbebdab86e On Win32 call gtk_status_icon_button_press() in an idle callback and not
2007-07-04  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkstatusicon.c: On Win32 call
	gtk_status_icon_button_press() in an idle callback and not
	directly from the window procedure to avoid "g_main_loop_run():
	called recursively from within a source's check() or prepare()
	member, iteration not possible" warnings.


svn path=/branches/gtk-2-10/; revision=18376
2007-07-04 08:11:20 +00:00
Matthias Clasen
25b8260a1b Always set an error when returning NULL. (453365, Michael Chudobiak)
2007-07-03  Matthias Clasen  <mclasen@redhat.com>

        * io-tiff.c (tiff_image_parse): Always set an error
        when returning NULL.  (453365, Michael Chudobiak)



svn path=/branches/gtk-2-10/; revision=18366
2007-07-03 18:23:39 +00:00
Matthias Clasen
65bb50f470 Don't leave priv->image dangling when use-stock is set to FALSE. (#437281,
2007-07-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkbutton.c (gtk_button_construct_child): Don't leave
        priv->image dangling when use-stock is set to FALSE.  (#437281,
        Jochen Baier)


svn path=/branches/gtk-2-10/; revision=18363
2007-07-03 17:11:14 +00:00
Matthias Clasen
2788ddf781 Be more careful when calling g_propagate_error(). (#453365, Michael
2007-07-03  Matthias Clasen  <mclasen@redhat.com>

        * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Be
        more careful when calling g_propagate_error().  (#453365,
        Michael Chudobiak)



svn path=/branches/gtk-2-10/; revision=18358
2007-07-03 16:32:00 +00:00
Matthias Clasen
2599d8b7c4 Enable SSL support. (#451070, Vince Busam)
2007-06-29  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackend/cups/gtkcupsutils.c (_post_check):
        (_get_check): Enable SSL support.  (#451070, Vince Busam)



svn path=/branches/gtk-2-10/; revision=18294
2007-06-29 18:49:36 +00:00
Emmanuele Bassi
ffe275cb16 Merge from trunk:
2007-06-29  Emmanuele Bassi  <ebassi@gnome.org>

	Merge from trunk:

	* gtk/gtkrecentmanager.c  (get_icon_for_mime_type): Do not
	cache the icon pixbufs but rely on the GtkIconTheme not to
	hit the disk cache too much (should tentatively fix #426987).

2007-06-26  Cody Russell  <bratsche@gnome.org>

svn path=/branches/gtk-2-10/; revision=18291
2007-06-29 17:33:18 +00:00
Priit Laes
1840fbe398 Estonian translation update by Ivar Smolin.
2007-06-28  Priit Laes  <plaes@svn.gnome.org>

	* et.po: Estonian translation update by Ivar Smolin.

svn path=/branches/gtk-2-10/; revision=18276
2007-06-28 08:07:50 +00:00
Nickolay V. Shmyrev
b5eaf20ff5 Updated Russian translation.
2007-06-28  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>

	* ru.po: Updated Russian translation.


svn path=/branches/gtk-2-10/; revision=18275
2007-06-28 08:06:51 +00:00
Cody Russell
ff1fd9605e Merge from trunk:
2007-06-26  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

	* modules/engines/ms-windows/xp_theme.[ch]
	* modules/engines/ms-windows/msw_style.c: Add support for 
	drawing checkboxes with inconsistent states. (Tor, #164809)


svn path=/branches/gtk-2-10/; revision=18247
2007-06-26 19:53:21 +00:00
Tor Lillqvist
d3ef7af2d9 Revert my attempted overly simple fix for #445284, as it causes a
2007-06-25  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkevents-win32.c (gdk_pointer_grab): Revert my
	attempted overly simple fix for #445284, as it causes a
	regression. (For instance, in GIMP the tool cursor gets used also
	for the right-click menu in image windows.) A more complex fix is
	needed to more completely emulate X11 behaviour.


svn path=/branches/gtk-2-10/; revision=18224
2007-06-25 06:36:27 +00:00
Priit Laes
4e20b181b2 Estonian translation update by Ivar Smolin.
2007-06-20  Priit Laes  <plaes@svn.gnome.org>

	* et.po: Estonian translation update by Ivar Smolin.

svn path=/branches/gtk-2-10/; revision=18205
2007-06-20 10:13:32 +00:00
Priit Laes
4668646701 Estonian translation update by Ivar Smolin.
2007-06-20  Priit Laes  <plaes@svn.gnome.org>

	* et.po: Estonian translation update by Ivar Smolin.

svn path=/branches/gtk-2-10/; revision=18204
2007-06-20 10:10:11 +00:00
Carlos Garnacho
2543dea650 Fix some issues with refcounting of the adjustment. (#448544)
2007-06-19  Carlos Garnacho  <carlos@imendio.com>

        * gtk/gtkcellrendererspin.c: Fix some issues with refcounting
        of the adjustment. (#448544)


svn path=/branches/gtk-2-10/; revision=18190
2007-06-19 16:14:56 +00:00
Matthias Clasen
f2364ce93b Backport from trunk:
2007-06-14   Matthias Clasen  <mclasen@redhat.com>

        Backport from trunk:

        * gtk/gtkprintoperation.c (pdf_end_run): Fix a refcounting
        problem with the EXPORT action.  (#440040, Chris Vine)


svn path=/branches/gtk-2-10/; revision=18133
2007-06-14 12:44:23 +00:00
Michael Natterer
20692870c7 Merge from trunk:
2007-06-13  Michael Natterer  <mitch@imendio.com>

	Merge from trunk:

	* gtk/gtklabel.c (gtk_label_set_label): added calls to
	g_object_freeze/thaw_notify() so gtk_label_get_text() doesn't
	return the old text when called from a "notify::label" callback.


svn path=/branches/gtk-2-10/; revision=18124
2007-06-13 14:22:16 +00:00
Cody Russell
9b4507b03c Merge from trunk:
2007-06-13  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

	* gtk/gtkwidget.c: Fix inconsistency in GTK_WIDGET_SAVED_STATE
	(#435840, Xan Lopez)


svn path=/branches/gtk-2-10/; revision=18123
2007-06-13 14:19:36 +00:00
Matthias Clasen
72b2175401 2.10.14
svn path=/branches/gtk-2-10/; revision=18117
2007-06-13 04:11:15 +00:00
Matthias Clasen
e530cda3a0 2.10.13
svn path=/branches/gtk-2-10/; revision=18115
2007-06-13 04:09:13 +00:00
Matthias Clasen
d7c262fd76 Updates
svn path=/branches/gtk-2-10/; revision=18114
2007-06-13 03:01:26 +00:00
Matthias Clasen
a0eab94fc3 Fix some locking issues. (#420249, Christian Persch)
2007-06-11  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkprintbackendfile.c:
        * modules/printbackends/cups/gtkprintbackendcups.c: Fix some
        locking issues.  (#420249, Christian Persch)


svn path=/branches/gtk-2-10/; revision=18106
2007-06-12 02:19:20 +00:00
Cody Russell
d71a6044ac Merge from trunk:
2007-06-10  Cody Russell  <bratsche@gnome.org>

        Merge from trunk:

        * gdk/win32/gdkevents-win32.c (gdk_pointer_grab):
        Don't revert the mouse cursor to the built-in one when
        the user holds the mouse button down. (#445284, Tor Lillqvist)


svn path=/branches/gtk-2-10/; revision=18094
2007-06-10 16:13:49 +00:00
Matthias Clasen
2379e6b124 Handle return values from nl_langinfo() more correctly.
2007-06-09  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcalendar.c (gtk_calendar_init): Handle return values
        from nl_langinfo() more correctly.



svn path=/branches/gtk-2-10/; revision=18086
2007-06-08 18:41:09 +00:00
Yevgen Muntyan
320f2ba885 Merge from trunk (#445196):
2007-06-07  Yevgen Muntyan  <muntyan@tamu.edu>

	Merge from trunk (#445196):

	* gtk/gtkstyle.c (get_insertion_cursor_gc): use text colors from
	widget style to draw cursor instead of hardcoded black and grey
	(#79585, comment #30).


svn path=/branches/gtk-2-10/; revision=18078
2007-06-07 20:06:41 +00:00
Johan Dahlin
3de3ff0f08 Merge from trunk:
2007-06-06  Johan Dahlin  <jdahlin@async.com.br>

    Merge from trunk:

    reviewed by: Matthias Clasen <mclasen@redhat.com>
    
    * gtk/gtkassistant.c (gtk_assistant_update_buttons_state): 
    Check if the wizard is empty before trying to access the first page.
    (#444310, Johan Dahlin)


svn path=/branches/gtk-2-10/; revision=18061
2007-06-06 15:00:51 +00:00
Cody Russell
0655665d42 Merge from trunk:
2007-06-04  Cody Russell  <bratsche@gnome.org>

        Merge from trunk:

        * gtk/gtklinkbutton.h
        * gtk/gtkaboutdialog.h: Change function argument "link"
        to "link_" to fix warnings for applications compiling
        with -Wshadow. (#379213)


svn path=/branches/gtk-2-10/; revision=18034
2007-06-04 18:59:42 +00:00
Cody Russell
484d13e313 Merge from trunk:
2007-06-04  Cody Russell  <bratsche@gnome.org>

        Merge from trunk:

        * gtk/gtkpathbar.c (gtk_path_bar_scroll_down): Check
        if down_button is NULL.  This happens when the pathbar button
        for the current directory is too large to fit in the
        space, e.g. on Windows for directories named something like
        "My Documents and Settings".  (#389603)


svn path=/branches/gtk-2-10/; revision=18032
2007-06-04 18:21:04 +00:00
Michael Natterer
7f330fe2dc Merge from trunk:
2007-06-01  Michael Natterer  <mitch@imendio.com>

	Merge from trunk:

	* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): don't switch
	submenu opening direction for overlapping reasons if there is even
	less space on the other side (bug #441863, Tommi Komulainen).


svn path=/branches/gtk-2-10/; revision=18003
2007-06-01 11:28:14 +00:00
Mathias Hasselmann
4795ae8e55 Reset the internal response_requested flag, once the response triggered by file_chooser_widget_response_requested has been processed (#347883)
svn path=/branches/gtk-2-10/; revision=17997
2007-05-31 22:24:00 +00:00
Kristian Rietveld
b669bdd5c7 Merge from trunk for #438750.
2007-05-31  Kristian Rietveld  <kris@gtk.org>

	Merge from trunk for #438750.

	2006-12-28  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcellrenderertext.c (get_layout): Remove a special
	case for single-line layouts.


svn path=/branches/gtk-2-10/; revision=17993
2007-05-31 17:35:51 +00:00
Chris Wilson
befb0dedfb Supply the current GError for fatal_error_handler(). (#441443)
2007-05-30  Chris Wilson  <chris@chris-wilson.co.uk>

    * io-jpeg.c (gdk_pixbuf__jpeg_image_stop_load):
    Supply the current GError for fatal_error_handler(). (#441443)


svn path=/branches/gtk-2-10/; revision=17990
2007-05-30 16:15:14 +00:00
Tor Lillqvist
b2c49c57bc Subtract the multi-monitor offset from x and y before setting up the
2007-05-30  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkevents-win32.c (gdk_pointer_grab): Subtract the
	multi-monitor offset from x and y before setting up the rectangle
	for ClipCursor(). Fixes #442326.


svn path=/branches/gtk-2-10/; revision=17987
2007-05-30 15:40:01 +00:00
Matthias Clasen
199d440c8e Queue a resize if the size changed. (#418047, Alex Graveley)
2007-05-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkiconview.c (gtk_icon_view_layout): Queue a resize
        if the size changed.  (#418047, Alex Graveley)



svn path=/branches/gtk-2-10/; revision=17986
2007-05-30 13:37:30 +00:00
Cody Russell
ba343d9632 Fix initialization of last cursor
svn path=/branches/gtk-2-10/; revision=17972
2007-05-29 01:04:20 +00:00
Tor Lillqvist
775add3523 Drop bogus -user32 switch. Was supposed to be -luser32, but he "l" was
2007-05-27  Tor Lillqvist  <tml@novell.com>

	* configure.in (GDK_EXTRA_LISB): Drop bogus -user32 switch. Was
	supposed to be -luser32, but he "l" was missing. But nobody has
	noticed, so presumably unnecessary.


svn path=/branches/gtk-2-10/; revision=17954
2007-05-27 18:35:02 +00:00
Xan Lopez
a366a78b4b Forgot to put bug number.
svn path=/branches/gtk-2-10/; revision=17920
2007-05-25 21:23:09 +00:00
Xan Lopez
f9a2e66995 Use private->data->short_label to update the proxies.
* gtk/gtkaction.c: (gtk_action_set_short_label):
	Use private->data->short_label to update the proxies.


svn path=/branches/gtk-2-10/; revision=17919
2007-05-25 21:16:35 +00:00
Matthias Clasen
e20be40451 Hold a refence on the print operation until gtk_print_job_send() is done.
2007-05-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation-unix.c (unix_end_run): Hold a
        refence on the print operation until gtk_print_job_send()
        is done.  (#440040, Chris Vine)



svn path=/branches/gtk-2-10/; revision=17916
2007-05-25 17:24:34 +00:00
Matthias Clasen
51739cf90e Don't crash and don't leak. (#439565, Pedro Villavicencio)
2007-05-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkiconview.c (gtk_icon_view_accessible_ref_child):
        Don't crash and don't leak.  (#439565, Pedro Villavicencio)



svn path=/branches/gtk-2-10/; revision=17914
2007-05-25 16:31:56 +00:00
Kenneth Nielsen
49443d9ab1 Updated Danish translation
svn path=/branches/gtk-2-10/; revision=17908
2007-05-24 23:36:26 +00:00
Rhys Jones
63e6261ea3 Updated Welsh translation.
2007-05-23  Rhys Jones  <rhys@sucs.org>

	* cy.po: Updated Welsh translation.

svn path=/branches/gtk-2-10/; revision=17901
2007-05-23 20:47:11 +00:00
Rhys Jones
0155badafc Updated Welsh translation.
2007-05-23  Rhys Jones  <rhys@sucs.org>

	* cy.po: Updated Welsh translation.

svn path=/branches/gtk-2-10/; revision=17900
2007-05-23 20:45:23 +00:00
Stéphane Raimbault
70ce271eb9 Updated French translation by Jonathan Ernst, Claude Paroz and
Stéphane Raimbault.

svn path=/branches/gtk-2-10/; revision=17892
2007-05-22 17:28:12 +00:00
Attilio Fiandrotti
dd06ee9435 Merged from trunk (r17879) fix for #437379
svn path=/branches/gtk-2-10/; revision=17880
2007-05-20 22:00:15 +00:00
Carlos Garnacho
38a1ddb463 Refactor GtkFileChooserDialog sizing.
2007-05-18  Carlos Garnacho  <carlos@imendio.com>

        Refactor GtkFileChooserDialog sizing.

        * gtkfilechooserembed.[ch] (delegate_get_resizable_hints)
        (_gtk_file_chooser_embed_get_resizable_hints):
        s/resizable_hints/resizable/, return just one boolean value to
        determine whether the filechooser should be resizable or not.

        * gtkfilechooserprivate.h (struct GtkFileChooserDialogPrivate): remove
        variables related to the GtkFileChooserEmbed get_default_size() and
        get_resizable() implementations.
        (struct GtkFileChooserDefault): Move default size management here.

        * gtkfilechooserdefault.c (gtk_file_chooser_default_size_allocate):
        Added, store currently allocated size to calculate default size later.
        (gtk_file_chooser_default_get_resizable_hints):
        s/resizable_hints/resizable/.
        (gtk_file_chooser_default_set_property): Reload settings if the file
        chooser action changes, this way the save expander state will be known
        before mapping the window, avoiding wrong window positioning and
        flickering. (#424299, #424309)
        (find_good_size_from_style): Only get size from style if it wasn't set
        previously.
        (gtk_file_chooser_default_get_default_size): return default size based
        on stored default size and preview/extra widget sizes.

        * gtkfilechooserdialog.c (file_chooser_widget_update_hints)
        (file_chooser_widget_realized_size_changed)
        (file_chooser_widget_unrealized_size_changed): simplified to
        (file_chooser_widget_size_changed): set window size and resizability
        based on the GtkFileChooserEmbed interface implementation. (Bug
        #420285, Tomeu Vizoso)
        (gtk_file_chooser_dialog_map): force a dialog size change, so it's
        clamped for sure to the 75% of the screen size.


svn path=/branches/gtk-2-10/; revision=17867
2007-05-18 16:51:17 +00:00
David Lodge
6059471bea Updated en_GB translation
svn path=/branches/gtk-2-10/; revision=17854
2007-05-15 22:05:47 +00:00
Behdad Esfahbod
619736c843 Fix check for modifier keys. (#438261, Theppitak Karoonboonyanan)
2007-05-14  Behdad Esfahbod  <behdad@gnome.org>

        * modules/input/gtkimcontextthai.c
        (gtk_im_context_thai_filter_keypress):
        Fix check for modifier keys. (#438261, Theppitak Karoonboonyanan)


svn path=/branches/gtk-2-10/; revision=17841
2007-05-14 10:09:58 +00:00
Matthias Clasen
1037100a22 Fix size requisition for wide vertical separators. (#438113, Benjamin
2007-05-14  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkvseparator.c (gtk_vseparator_size_request): Fix
        size requisition for wide vertical separators.  (#438113,
        Benjamin Berg)


svn path=/branches/gtk-2-10/; revision=17838
2007-05-14 04:20:34 +00:00
Cody Russell
6c436e123d Fix context iterations for handle_configure_event()
svn path=/branches/gtk-2-10/; revision=17835
2007-05-13 18:45:46 +00:00
Behdad Esfahbod
aeb3c78366 Fix wrong cairo path generation. (#437879, Eddie C. Dost)
2007-05-12  Behdad Esfahbod  <behdad@gnome.org>

        * gdk/gdkdraw.c (gdk_draw_trapezoids): Fix wrong cairo path 
        generation.  (#437879, Eddie C. Dost)


svn path=/branches/gtk-2-10/; revision=17832
2007-05-12 18:52:53 +00:00
Michael Natterer
f721c3daeb Merge from trunk:
2007-05-11  Michael Natterer  <mitch@imendio.com>

	Merge from trunk:

	* gtk/gtktextview.c (selection_motion_event_handler): call
	gdk_device_get_state() so selecting works with XInput devices
	too. Spotted by Tommi Komulainen.


svn path=/branches/gtk-2-10/; revision=17821
2007-05-11 16:13:29 +00:00
Leonardo Ferreira Fontenelle
21e7be5e84 Updated Brazilian Portuguese translation by Washington Lins
2007-05-10  Leonardo Ferreira Fontenelle  <leonardof@svn.gnome.org>

	* pt_BR.po: Updated Brazilian Portuguese translation by Washington
	Lins <washington-lins@uol.com.br>.

svn path=/branches/gtk-2-10/; revision=17818
2007-05-11 02:06:55 +00:00
Matthias Clasen
65254fb61a Unparent the old image before overwriting priv->image. (#437281, Jochen
2007-05-10  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkbutton.c (gtk_button_set_image): Unparent the old
        image before overwriting priv->image.  (#437281, Jochen Baier)


svn path=/branches/gtk-2-10/; revision=17817
2007-05-10 20:22:08 +00:00
Matthias Clasen
d43501f3e9 Don't call into the backend if the region is empty. (#437081, Sven
2007-05-10  Matthias Clasen <mclasen@redhat.com>

        * gdk/gdkdraw.c (gdk_draw_pixbuf): Don't call into
        the backend if the region is empty.  (#437081, Sven Neumann)



svn path=/branches/gtk-2-10/; revision=17814
2007-05-10 19:24:48 +00:00
Dom Lachowicz
7342573330 Merge from trunk:
2007-05-09  Dom Lachowicz <domlachowicz@gmail.com>

        Merge from trunk:

        * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: GtkTreeView 
doesn't
        expand/collapse with Right/Left cursor keys on Windows
        (#436269, Daniel Atallah)


svn path=/branches/gtk-2-10/; revision=17811
2007-05-09 17:24:34 +00:00
Cody Russell
e098ab04f9 Render non-XP tabs correctly on Win32
svn path=/branches/gtk-2-10/; revision=17809
2007-05-09 16:16:09 +00:00
Amitakhya Phukan
1c7612732f Updated Changelog for updated assamese translation
svn path=/branches/gtk-2-10/; revision=17806
2007-05-09 11:52:07 +00:00
Amitakhya Phukan
6b6a53e9ba Updated assamese translation
svn path=/branches/gtk-2-10/; revision=17805
2007-05-09 11:51:33 +00:00
Loïc Minier
5d58d7cf49 Backport misc directfb fixes from trunk; thanks Attilio Fiandrotti for the
2007-05-09  Loïc Minier  <lool@dooz.org>

	* gdk/directfb/Makefile.am:
	* gdk/directfb/gdkcolor-directfb.c:
	* gdk/directfb/gdkevents-directfb.c: (dfb_events_io_func),
	(gdk_event_translate):
	* gdk/directfb/gdkkeys-directfb.c:
	(gdk_keymap_translate_keyboard_state):
	* gdk/directfb/gdkpixmap-directfb.c: (gdk_pixmap_new):
	* gdk/directfb/gdkproperty-directfb.c: (gdk_atom_name):
	* gdk/directfb/gdkscreen-directfb.c: (gdk_screen_is_composited):
	* gdk/directfb/gdkwindow-directfb.c:
	(_gdk_windowing_window_destroy), (_gdk_directfb_move_resize_child):
	Backport misc directfb fixes from trunk; thanks Attilio Fiandrotti for
	the patch.

svn path=/branches/gtk-2-10/; revision=17803
2007-05-09 07:12:45 +00:00
Theppitak Karoonboonyanan
1d25cbdd6d Updated Thai translation.
* th.po: Updated Thai translation.


svn path=/branches/gtk-2-10/; revision=17800
2007-05-07 07:08:05 +00:00
Alexander Shopov
2473562bb3 Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2007-05-05  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>

svn path=/branches/gtk-2-10/; revision=17796
2007-05-05 07:27:31 +00:00
Alexander Shopov
7cfbc2e1ac Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2007-05-05  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>

svn path=/branches/gtk-2-10/; revision=17795
2007-05-05 06:51:23 +00:00
Daniel Nylander
1fd259f69a sv.po: Updated Swedish translation
svn path=/branches/gtk-2-10/; revision=17793
2007-05-04 21:31:55 +00:00
Djihed Afifi
55e1e68704 Updated Arabic Translation by Khaled Hosny.
svn path=/branches/gtk-2-10/; revision=17789
2007-05-03 18:47:33 +00:00
Jorge Gonzalez Gonzalez
4c386eaace Updated Spanish translation.
svn path=/branches/gtk-2-10/; revision=17788
2007-05-03 16:55:54 +00:00
Armin Burgmeier
1f5902ec25 Merge from trunk:
2007-05-02  Armin Burgmeier  <armin@openismus.com>

	Merge from trunk:

	* gtk/gtkcombobox.c: Destroy the menu in dispose instead of
	finalize, because the menu might unparent itself from its parent and
	cause a signal emission on a finalized object. (#430746)

svn path=/branches/gtk-2-10/; revision=17787
2007-05-03 16:22:38 +00:00
Yang Zhang
eda414c03b Updated zh_CN translation
svn path=/branches/gtk-2-10/; revision=17784
2007-05-03 11:50:59 +00:00
Matthias Clasen
ad0e3dcdd8 bump version
svn path=/branches/gtk-2-10/; revision=17781
2007-05-02 22:00:15 +00:00
Matthias Clasen
60709383b8 2.10.12
svn path=/branches/gtk-2-10/; revision=17779
2007-05-02 21:54:57 +00:00
Josep Puigdemont i Casamajó
1633a96a90 Updated Catalan translation.
svn path=/branches/gtk-2-10/; revision=17778
2007-05-02 19:46:46 +00:00
Duarte Loreto
b5c35a8c9e Updated Portuguese translation.
2007-05-02  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.

svn path=/branches/gtk-2-10/; revision=17777
2007-05-02 18:55:12 +00:00
Takeshi AIHANA
901e985c1d Updated Japanese translation.
2007-05-03  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation.

svn path=/branches/gtk-2-10/; revision=17776
2007-05-02 17:22:41 +00:00
Matthias Clasen
de8ab84a52 Forgotten changes for the icon cache validator
2007-05-02  Matthias Clasen  <mclasen@redhat.com>

        * gtk/Makefile.am: Forgotten changes for the icon cache validator


svn path=/branches/gtk-2-10/; revision=17775
2007-05-02 16:51:41 +00:00
Matthias Clasen
89643a5500 forgotten file
svn path=/branches/gtk-2-10/; revision=17774
2007-05-02 16:15:11 +00:00
Kristian Rietveld
37f8533745 Merge from trunk:
2007-05-02  Kristian Rietveld  <kris@imendio.com>

	Merge from trunk:

	* gtk/gtktreeview.c (gtk_tree_view_grab_notify): stop the rubber band
	if it's active.


svn path=/branches/gtk-2-10/; revision=17771
2007-05-02 08:09:46 +00:00
Matthias Clasen
fe6f91ded2 Updates
svn path=/branches/gtk-2-10/; revision=17769
2007-05-02 03:13:57 +00:00
Matthias Clasen
afb9a6c601 Don't be too strict when checking icon flags. (#435062)
2007-05-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkiconcachevalidator.c: Don't be too strict when checking
        icon flags.  (#435062)



svn path=/branches/gtk-2-10/; revision=17768
2007-05-02 02:21:28 +00:00
Matthias Clasen
40653e2a1f Don't ignore the fact that gtk_file_system_get_parent() may return NULL.
2007-05-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilesystemmodel.c (_gtk_file_system_model_path_do):
        Don't ignore the fact that gtk_file_system_get_parent()
        may return NULL.  (#424042, Jan Martinek)



svn path=/branches/gtk-2-10/; revision=17765
2007-05-02 01:23:30 +00:00
Dan Winship
a56af6e2f7 Merge from trunk:
* gdk/x11/gdkwindow-x11.c (setup_toplevel_window): Make sure the
	leader_window's WM_CLIENT_LEADER points to itself. #435028

svn path=/branches/gtk-2-10/; revision=17763
2007-05-02 00:21:51 +00:00
Matthias Clasen
0a65a72417 add a new struct field to clear the file entry after the current folder
2007-05-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserdefault.c (struct UpdateCurrentFolderData),
        (update_current_folder_get_info_cb): add a new struct field to clear
        the file entry after the current folder has been updated.

        (gtk_file_chooser_default_update_current_folder),
        (change_folder_and_display_error): Add a new function parameter to
        trigger file entry clearing.

        (edited_idle_create_folder_cb),
        (file_list_drag_data_received_get_info_cb),
        (gtk_file_chooser_default_map),
        (gtk_file_chooser_default_set_current_folder),
        (switch_to_selected_folder), (save_entry_get_info_cb),
        (shortcuts_activate_volume_mount_cb), (shortcuts_activate_volume),
        (shortcuts_activate_get_info_cb), (list_row_activated),
        (path_bar_clicked): use new function parameter appropriately.

        (gtk_file_chooser_default_should_respond): trigger file entry clearing
        after the directory is updated instead of clearing it before, this way
        we avoid reloading the completion model with the soon to be old folder,
        causing a warning and a glitch in the folder where completion happens.
        (#379414, Carlos Garnacho)




svn path=/branches/gtk-2-10/; revision=17757
2007-05-01 22:03:08 +00:00
Matthias Clasen
f16cc7f311 Remove debug spew, add a warning
svn path=/branches/gtk-2-10/; revision=17755
2007-05-01 21:55:28 +00:00
Ihar Hrachyshka
7209503eb7 Updated Belarusian Latin translation.
svn path=/branches/gtk-2-10/; revision=17750
2007-05-01 09:28:15 +00:00
Matthias Clasen
5eae4ef392 Make sure we always have a color_hash. (#423916, Jens Granseuer)
2007-04-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtksettings.c (settings_update_color_scheme):
        Make sure we always have a color_hash.  (#423916, Jens Granseuer)



svn path=/branches/gtk-2-10/; revision=17749
2007-04-30 19:29:33 +00:00
Matthias Clasen
abf1066d78 A NO_WINDOW widget must not set the background of its window. (#433972,
2007-04-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkexpander.c (gtk_expander_realize): A NO_WINDOW widget
        must not set the background of its window.  (#433972,
        Guilherme Polo)


svn path=/branches/gtk-2-10/; revision=17745
2007-04-30 18:00:17 +00:00
Matthias Clasen
06e80d784a Get all the printer attributes when getting the list of printers, not via
2007-04-30  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkprintbackendcups.c: Get all
        the printer attributes when getting the list of printers,
        not via separate requests.  (#387889, Krishan Purahoo)


svn path=/branches/gtk-2-10/; revision=17742
2007-04-30 17:42:10 +00:00
Cody Russell
d22d101f97 Clear correct area
svn path=/branches/gtk-2-10/; revision=17738
2007-04-30 15:30:38 +00:00
Matthias Clasen
7e13e72706 Translate the default job name, and don't utf8-validate the job name in
2007-04-30  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkprintoperation.c: Translate the default job
        name, and don't utf8-validate the job name in the
        setter.  (#421993, Morten Welinder)



svn path=/branches/gtk-2-10/; revision=17727
2007-04-30 05:10:20 +00:00
Matthias Clasen
046fc3cc2f Use g_unlink. (#421990, Morten Welinder)
2007-04-30  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkprintjob.c (gtk_print_job_get_surface): Use
        g_unlink.  (#421990, Morten Welinder)



svn path=/branches/gtk-2-10/; revision=17725
2007-04-30 04:56:32 +00:00
Matthias Clasen
e23495daee Fix some issues with reference handling in the printing code. (#429902,
2007-04-29  Matthias Clasen <mclasen@redhat.com>

        Fix some issues with reference handling in the printing
        code.  (#429902, Mathias Hasselmann)

        * gtk/gtkprintoperation.c (gtk_print_operation_finalize):
        Unref the print context, if we have one.
        (gtk_print_operation_done): Add a default ::done handler
        that unrefs the print context.
        (preview_ready): Take a reference on the print operation
        preview here.
        (print_pages_idle): ...not here,
        (preview_print_idle_done): ...and release it here.

        * tests/print-editor.c (preview_cb): Take a reference
        on the print operation here.



svn path=/branches/gtk-2-10/; revision=17723
2007-04-30 04:50:49 +00:00
Matthias Clasen
08bf8df1a0 Make the emission of ::end-print and ::done consistent for previews.
2007-04-29  Matthias Clasen <mclasen@redhat.com>

        Make the emission of ::end-print and ::done consistent
        for previews.  (#347567, Yevgen Muntyan)

        * gtk/gtkprintoperation.c (preview_iface_end_preview): Set
        the finished status here.
        (preview_end_run): ...and not here.
        (print_pages_idle_done): Emit ::done for a cancelled preview.
        (print_pages_idle): If a preview has been cancelled, don't
        emit ::ready, but emit ::end-print.

        tests/print-editor.c: Use ::end-print to undo allocations
        from ::begin-print.


svn path=/branches/gtk-2-10/; revision=17720
2007-04-30 02:21:10 +00:00
Matthias Clasen
83ef247e1f Document that a print operation can be run only once, and add a
2007-04-29  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkprintoperation.c (gtk_print_operation_run): Document
        that a print operation can be run only once, and add a
        corresponding g_return_if_fail().   (#379399, Masao Mutoh)



svn path=/branches/gtk-2-10/; revision=17716
2007-04-29 18:56:28 +00:00
Matthias Clasen
44c7ba14b0 Remove a pointless check from the previous commit that added a new string.
2007-04-29  Matthias Clasen <mclasen@redhat.com>

        * io-jpeg.c: Remove a pointless check from the previous
        commit that added a new string.



svn path=/branches/gtk-2-10/; revision=17713
2007-04-29 18:38:18 +00:00
Matthias Clasen
f164053f95 Unlink the file if launching the preview failed, use the settings from the
2007-04-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation-unix.c 
        (_gtk_print_operatin_platform_launch_preview): Unlink the
        file if launching the preview failed, use the settings from
        the correct screen, and don't make the error dialog modal.
        (#421985, Morten Welinder)



svn path=/branches/gtk-2-10/; revision=17709
2007-04-29 18:10:35 +00:00
Matthias Clasen
d87cb6e82d Only strip parentheses of the form (_x). (#434261, Brian Wellington)
2007-04-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores):
        Only strip parentheses of the form (_x).  (#434261,
        Brian Wellington)


svn path=/branches/gtk-2-10/; revision=17706
2007-04-29 07:22:08 +00:00
Matthias Clasen
40db7d038b Fix the build
svn path=/branches/gtk-2-10/; revision=17702
2007-04-29 06:51:12 +00:00
Ihar Hrachyshka
8b4c8fa1a1 Updated Belarusian Latin translation.
svn path=/branches/gtk-2-10/; revision=17700
2007-04-29 06:49:48 +00:00
Matthias Clasen
c80541a3e4 Also check the default handler when deciding whether to emit the paginate
2007-04-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation.c (print_pages_idle): Also check
        the default handler when deciding whether to emit the
        paginate signal.  (#345345, Yevgen Muntyan)



svn path=/branches/gtk-2-10/; revision=17699
2007-04-29 06:35:33 +00:00
Matthias Clasen
3098de7054 Free the custom paper list. (#403267, Felix Riemann)
2007-04-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkpagesetupunixdialog.c (gtk_page_setup_unix_dialog_finalize):
        Free the custom paper list.  (#403267, Felix Riemann)



svn path=/branches/gtk-2-10/; revision=17696
2007-04-29 05:07:33 +00:00
Matthias Clasen
d84f87dc1b Fix a small memory leak. (#403251, Felix Riemann)
2007-04-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintjob.c (gtk_print_job_get_surface): Fix a
        small memory leak.  (#403251, Felix Riemann)



svn path=/branches/gtk-2-10/; revision=17694
2007-04-29 04:59:38 +00:00
Matthias Clasen
ec485b24bd Fix the offsets of the input-only window if we also have a visible window.
2007-04-28  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkeventbox.c (gtk_event_box_realize): Fix the offsets
        of the input-only window if we also have a visible window.
        (#405089)



svn path=/branches/gtk-2-10/; revision=17684
2007-04-28 21:49:13 +00:00
Matthias Clasen
a6fc91c07e Recognize negative column indices as invalid. (#415260, Chris Wilson)
2007-04-28  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkliststore.c (gtk_list_store_set_valist_internal):
        * gtk/gtktreestore.c (gtk_tree_store_set_valist_internal):
        Recognize negative column indices as invalid.  (#415260,
        Chris Wilson)


svn path=/branches/gtk-2-10/; revision=17682
2007-04-28 21:31:34 +00:00
Matthias Clasen
1bb1405cf1 Accept unknown parameters with a warning when saving. (#405539, Daniel
2007-04-28  Matthias Clasen <mclasen@redhat.com>

        * io-png.c:
        * io-jpeg.c: Accept unknown parameters with a warning
        when saving.  (#405539, Daniel Atallah)



svn path=/branches/gtk-2-10/; revision=17674
2007-04-28 14:49:43 +00:00
Matthias Clasen
28ec7761ee Plug memory leaks caused by wrong use of g_slist_remove_link(). (#405515,
2007-04-28  Matthias Clasen  <mclasen@redhat.com>

        * gdk/win32/bdfcursor.c (compose_cursors_from_fonts):
        * gtk/gtkcombobox.c (gtk_combo_box_cell_layout_reorder):
        * gtk/gtkfilesystemmodel.c (got_root_folder_cb):
        (get_children_folder_cb): Plug memory leaks caused by wrong
        use of g_slist_remove_link().  (#405515, Nicolas Peninguy)



svn path=/branches/gtk-2-10/; revision=17672
2007-04-28 14:43:20 +00:00
Matthias Clasen
3ebb7e964c Fix the headers in the print demo. (#423722, Yevgen Muntyan)
2007-04-28  Matthias Clasen  <mclasen@redhat.com>

        * demos/gtk-demo/printing.c: Fix the headers in the print
        demo.  (#423722, Yevgen Muntyan)



svn path=/branches/gtk-2-10/; revision=17670
2007-04-28 14:09:36 +00:00
Tor Lillqvist
cb2c4a4597 Remove old child of scrolled window before adding a new one when switching
2007-04-26  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkinputdialog.c (gtk_input_dialog_fill_axes)
	(gtk_input_dialog_fill_keys): Remove old child of scrolled window
	before adding a new one when switching what input device is being
	handled. (#399425)


svn path=/branches/gtk-2-10/; revision=17655
2007-04-26 06:19:13 +00:00
Matthias Clasen
3357ad8bf8 Mark the printer list as done. (#428665, Bogdan Gheorghe)
2007-04-26  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/lpr/gtkprintbackendlpr.c
        (gtk_print_backend_lpr_init): Mark the printer list as done.
        (#428665, Bogdan Gheorghe)



svn path=/branches/gtk-2-10/; revision=17654
2007-04-26 06:16:01 +00:00
Matthias Clasen
2f9521e58d Don't install UNIX-printing headers and support files on non-UNIX
2007-04-26  Matthias Clasen  <mclasen@redhat.com>

        * Makefile.am:
        * gtk/Makefile.am: Don't install UNIX-printing headers and
        support files on non-UNIX platforms.  (#425655, Vincent Geddes)



svn path=/branches/gtk-2-10/; revision=17652
2007-04-26 06:05:20 +00:00
Matthias Clasen
2b85c47132 Accept unnamed separators. (#369112, Christian Persch)
2007-04-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkuimanager.c (gtk_ui_manager_add_ui): Accept
        unnamed separators.  (#369112, Christian Persch)



svn path=/branches/gtk-2-10/; revision=17650
2007-04-26 05:55:59 +00:00
Matthias Clasen
1b730c2d01 Don't access invalid memory. (#429732, Armin Burgmeier)
2007-04-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkaccelgroup.c (gtk_accel_group_finalize): Don't access
        invalid memory.  (#429732, Armin Burgmeier)



svn path=/branches/gtk-2-10/; revision=17648
2007-04-26 05:52:24 +00:00
Cody Russell
bdc6c63ffb Use native Win32 cursors where it makes sense
svn path=/branches/gtk-2-10/; revision=17646
2007-04-26 05:28:16 +00:00
Cody Russell
f9507b4e08 Win32 drop shadow goodness
svn path=/branches/gtk-2-10/; revision=17644
2007-04-25 23:45:09 +00:00
Matthias Clasen
5ee1e016b1 Set the background of the header window again. (#431067, Benjamin Berg)
* gtk/gtktreeview.c (gtk_tree_view_style_set): Set the background
        of the header window again.  (#431067, Benjamin Berg)



svn path=/branches/gtk-2-10/; revision=17641
2007-04-25 19:13:29 +00:00
Matthias Clasen
9c6e762a33 Set the filename to NULL for builtin icons, sinc
2007-04-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkicontheme.c (theme_lookup_icon): Set the filename to
        NULL for builtin icons, sinc gtk_icon_info_get_builtin_pixbuf()
        depends on it.

        * tests/testicontheme.c: Report builtin icons.


svn path=/branches/gtk-2-10/; revision=17639
2007-04-25 18:06:11 +00:00
Matthias Clasen
5196c8e5bf Don't crash if end_run is not set. (#424168, Matthias Hasselmann)
2007-04-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation.c (preview_iface_end_preview): Don't
        crash if end_run is not set.  (#424168, Matthias Hasselmann)



svn path=/branches/gtk-2-10/; revision=17637
2007-04-25 16:30:00 +00:00
Matthias Clasen
e7ae6a11ee Don't double the delay time of the first frame. (#431997, Björn
2007-04-25  Matthias Clasen <mclasen@redhat.com>

        * gdk-pixbuf-simple-anim.c (gdk_pixbuf_simple_anim_add_frame):
        Don't double the delay time of the first frame.  (#431997,
        Björn Lindqvist)


svn path=/branches/gtk-2-10/; revision=17635
2007-04-25 14:47:19 +00:00
Michael Natterer
a117b32242 Merged from trunk:
2007-04-25  Michael Natterer  <mitch@imendio.com>

	Merged from trunk:

	* gtk/gtkmenu.c (gtk_menu_handle_scrolling): fix ACTIVE state of
	scroll buttons (we were setting the state to ACTIVE but
	immediately overwriting it with NORMAL or PRELIGHT). Also got rid
	of many separate calls to gdk_window_invalidate_rect() by
	remembering the old button state and only invalidating the area if
	the state has changed (addresses parts of bug #433242, Tommi
	Komulainen).

	(gtk_menu_scroll_to): change the arrow states only if changing
	from or to INSENSITIVE state, so we don't overwrite the ACTIVE
	state set by above function.


svn path=/branches/gtk-2-10/; revision=17631
2007-04-25 12:31:20 +00:00
Chris Wilson
0131d4ecde Ensure the icon_theme->all_icons and dir->icons hash tables use the same
2007-04-24  Chris Wilson  <chris@chris-wilson.co.uk>

    * gtk/gtkicontheme.c (scan_directory): Ensure the 
    icon_theme->all_icons and dir->icons hash tables use the same string
    as their keys. (#418531)


svn path=/branches/gtk-2-10/; revision=17625
2007-04-24 14:51:52 +00:00
Cody Russell
6411857a0c Cleanup of tab rendering code
svn path=/branches/gtk-2-10/; revision=17624
2007-04-24 03:33:18 +00:00
Cody Russell
ec2caa4bae Fix premature DC release
svn path=/branches/gtk-2-10/; revision=17621
2007-04-23 18:44:15 +00:00
Matthias Clasen
cab5e86171 Reduce the amount of debug spew if we are not debugging.
2007-04-23  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkprintbackendcups.c: Reduce
        the amount of debug spew if we are not debugging.



svn path=/branches/gtk-2-10/; revision=17620
2007-04-23 17:14:12 +00:00
Cody Russell
9b78d8389d Backported fix from trunk
svn path=/branches/gtk-2-10/; revision=17616
2007-04-19 17:35:20 +00:00
Cody Russell
f251591cf8 Fix menuitem rendering in Vista
svn path=/branches/gtk-2-10/; revision=17615
2007-04-19 17:25:24 +00:00
Pema Geyleg
fe8facd8a0 Updated Dzongkha Translation
svn path=/branches/gtk-2-10/; revision=17612
2007-04-19 10:32:08 +00:00
Matthias Clasen
90358a3a42 Fix a borderline case with regions
svn path=/branches/gtk-2-10/; revision=17609
2007-04-18 15:23:40 +00:00
Emmanuele Bassi
38eba176e5 Merged from trunk:
2007-04-18  Emmanuele Bassi  <ebassi@gnome.org>

	Merged from trunk:

        * gtk/gtkrecentmanager.c (gtk_recent_manager_lookup_item): Fix
        a leak by not increasing the refcount of the GtkRecentInfo
        object when returning it (thanks to Matthias Clasen).

svn path=/branches/gtk-2-10/; revision=17607
2007-04-18 14:40:33 +00:00
Dan Williams
71021b0efd Merged from trunk:
2007-04-16  Dan Williams  <dcbw@redhat.com>

	Merged from trunk:

	* gtk/gtkrc.c: (gtk_rc_context_get): Initialise variable (#423064)


svn path=/branches/gtk-2-10/; revision=17605
2007-04-16 17:13:17 +00:00
Alexander Larsson
bf27e8b0f3 Merged from trunk:
2007-04-16  Alexander Larsson  <alexl@redhat.com>

	Merged from trunk:

	* gtk/gtkprintoperation.c (gtk_print_operation_run):
	Make async print preview work by actually starting
	the print process in that case (#424168)


svn path=/branches/gtk-2-10/; revision=17604
2007-04-16 09:01:47 +00:00
Kostas Papadimas
e3cb4f793f Updated Greek translation
svn path=/branches/gtk-2-10/; revision=17602
2007-04-15 10:17:37 +00:00
Chris Wilson
44eab2f9b2 s/g_hash_table_get_keys/hash_table_get_keys/ Avoid the naming conflict
2007-04-11  Chris Wilson  <chris@chris-wilson.co.uk>

    * gtk/gtkiconfactory.c (hash_table_get_keys),
    (_gtk_icon_factory_list_ids):
    * gtk/gtkstock.c (hash_table_get_keys), (gtk_stock_list_ids):
        s/g_hash_table_get_keys/hash_table_get_keys/
        Avoid the naming conflict with the recent GLib implementation
        of the similar function.


svn path=/branches/gtk-2-10/; revision=17598
2007-04-11 18:04:17 +00:00
Matthias Clasen
7d89a0f71d Change the XSettingsWatchFunc to return a Bool to indicate success. Update
2007-04-10  Matthias Clasen  <mclasen@redhat.com>

        * gdk/x11/xsettings-client.[hc]: Change the XSettingsWatchFunc
        to return a Bool to indicate success. Update callers and
        implementors. Based on a patch by Owen Taylor.

        * gdk/x11/gdkevents-x11.c (gdk_xsettings_watch_cb): Don't
        leak a reference to gdkwin.



svn path=/branches/gtk-2-10/; revision=17593
2007-04-10 23:25:34 +00:00
Matthias Clasen
ba41627737 Duplicate the mime_type when storing it in a hash node, to avoid leaks.
2007-04-09  Matthias Clasen  <mclasen@redhat.com>

        * xdgmimeglob.c (_xdg_glob_hash_insert_text): Duplicate the
        mime_type when storing it in a hash node, to avoid leaks.
        Update all callers.


svn path=/branches/gtk-2-10/; revision=17590
2007-04-09 18:33:47 +00:00
Baris Cicek
b23bad70a4 Updated Turkish Translation
svn path=/branches/gtk-2-10/; revision=17587
2007-04-07 18:04:19 +00:00
Baris Cicek
867f167d76 Updated Turkish Translation
svn path=/branches/gtk-2-10/; revision=17586
2007-04-07 17:27:27 +00:00
Vincent van Adrighem
f57c7c34c9 Translation updated by Tino Meinen.
2007-04-03  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.

svn path=/branches/gtk-2-10/; revision=17581
2007-04-03 15:11:03 +00:00
Loïc Minier
fa7d94bbc9 Merge r17579 from trunk:
2007-04-03  Loïc Minier  <lool@dooz.org>

	* gdk/x11/gdkscreen-x11.c: (check_xfree_xinerama): Revert to
	non-xinerama mode when XineramaQueryScreens returns NULL; patch from
	Simon McVittie; #425786.

svn path=/branches/gtk-2-10/; revision=17580
2007-04-03 13:51:44 +00:00
Cody Russell
fb180cf79b Fix leaked pixbuf in tab rendering
svn path=/branches/gtk-2-10/; revision=17577
2007-04-01 20:07:38 +00:00
Cody Russell
db866825a6 Fix bottom-oriented notebook tabs on Win32. #399253
svn path=/branches/gtk-2-10/; revision=17576
2007-04-01 18:51:22 +00:00
Inaki Larranaga Murgoitio
2dc21cefe9 Updated Basque translation.
2007-03-30  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>

	* eu.po: Updated Basque translation.


svn path=/branches/gtk-2-10/; revision=17573
2007-03-30 15:49:47 +00:00
Inaki Larranaga Murgoitio
03cac4dfac Updated Basque translation.
2007-03-30  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>

	* eu.po: Updated Basque translation.


svn path=/branches/gtk-2-10/; revision=17572
2007-03-30 15:46:48 +00:00
Matthias Clasen
b781e516b7 Merge from trunk:
2007-03-28  Matthias Clasen  <mclasen@redhat.com>

        Merge from trunk:

        * modules/printbackends/cups/gtkcupsutils.[hc]:
        * modules/printbackends/cups/gtkprintbackendcups.c: Apply
        a patch by John Palmieri to make the cups print backend support
        raw printers.



svn path=/branches/gtk-2-10/; revision=17569
2007-03-28 15:59:14 +00:00
Ignacio Casal Quinteiro
d8be56f631 Updated Galician Translation
svn path=/branches/gtk-2-10/; revision=17563
2007-03-25 20:26:00 +00:00
Matthias Clasen
d3bfae523d Add a keybinding (C-h) to toggle whether to show hidden files. (#344657,
2007-03-23  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserdefault.c: Add a keybinding (C-h) to
        toggle whether to show hidden files.  (#344657,
        Wouter Bolsterlee, Priit Laes, et al)



svn path=/branches/gtk-2-10/; revision=17558
2007-03-23 05:18:15 +00:00
Matthias Clasen
b5cdeeb0af Add a keybinding to toggle the visibility of the location entry. (#383354,
2007-03-23  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserdefault.c: Add a keybinding to
        toggle the visibility of the location entry.  (#383354,
        John Pye, patch by Carlos Garnacho)



svn path=/branches/gtk-2-10/; revision=17556
2007-03-23 05:08:31 +00:00
Matthias Clasen
1c395cc860 Freeze property notification. Handle the gtk-color-scheme xsetting being
2007-03-22  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtksettings.c (merge_color_scheme): Freeze property
        notification.
        * gtk/gtksettings.c (_gtk_settings_handle_event): Handle
        the gtk-color-scheme xsetting being unset.

        * gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): Handle
        recursion locally.



svn path=/branches/gtk-2-10/; revision=17554
2007-03-22 21:59:29 +00:00
Matthias Clasen
17f4c4f0e6 Remove debug spew
svn path=/branches/gtk-2-10/; revision=17552
2007-03-22 02:44:22 +00:00
Laurent Dhima
dd5501d9c5 Updated Albanian translation.
svn path=/branches/gtk-2-10/; revision=17548
2007-03-21 11:26:17 +00:00
Matthias Clasen
a5077a64bd Ensure that the prefix is valid UTF-8. (#419568, Nickolay V. Shmyrev)
2007-03-18  Matthias Clasen <mclasen@redhat.com> 

        * gtk/gtkentrycompletion.c (gtk_entry_completion_compute_prefix):
        Ensure that the prefix is valid UTF-8.  (#419568, Nickolay V. Shmyrev)



svn path=/branches/gtk-2-10/; revision=17544
2007-03-19 04:31:00 +00:00
Claudio Saavedra
271a642bc8 Updated Spanish translation.
2007-03-19  Claudio Saavedra  <csaavedra@alumnos.utalca.cl>

        * es.po: Updated Spanish translation.


svn path=/branches/gtk-2-10/; revision=17542
2007-03-19 04:06:28 +00:00
Chris Wilson
bcfedec385 Change whitespace in ChangeLog entry for consistency.
svn path=/branches/gtk-2-10/; revision=17540
2007-03-17 20:27:17 +00:00
Chris Wilson
edec9a1879 Initialise nxvisuals to 0 in order to handle XGetVisualInfo() failures
2007-03-17  Chris Wilson  <chris@chris-wilson.co.uk>

	* gdk/x11/gdkvisual-x11.c (_gdk_visual_init):
		Initialise nxvisuals to 0 in order to handle
		XGetVisualInfo() failures gracefully. (#419171)


svn path=/branches/gtk-2-10/; revision=17537
2007-03-17 18:50:20 +00:00
Matthias Clasen
bbeddb712a Scroll to make the selected printer visible. (#418403, Nickolay V.
2007-03-16  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintunixdialog.c (printer_added_cb): Scroll to
        make the selected printer visible.  (#418403, Nickolay V. Shmyrev,
        patch by Christian Persch)



svn path=/branches/gtk-2-10/; revision=17532
2007-03-16 05:17:25 +00:00
Federico Mena Quintero
e89926da22 PANGO_PIXELS() gives us device units, which are *points* in pangocairo's
2007-03-15  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkfilechooserdefault.c (find_good_size_from_style):
	PANGO_PIXELS() gives us device units, which are *points* in
	pangocairo's parlance, but we want actual pixels.  So, get the
	screen's resolution to compute the actual number of pixels.
	Fixes bug #418585.

svn path=/branches/gtk-2-10/; revision=17529
2007-03-16 00:51:18 +00:00
Alessio Frusciante
c3f89db45d Updated Italian translation.
svn path=/branches/gtk-2-10/; revision=17528
2007-03-15 21:21:45 +00:00
Emmanuele Bassi
cb2d6f74a1 Merge from trunk:
2007-03-15  Emmanuele Bassi  <ebassi@gnome.org>

	Merge from trunk:

	* gtk/gtkrecentmanager.c (gtk_recent_manager_add_item): Remove
	unused GError; do not allocate GtkRecentData and use a variable
	on the stack. (#418673, Morten Welinder)

svn path=/branches/gtk-2-10/; revision=17526
2007-03-15 19:58:22 +00:00
Chris Wilson
98abcb41fb Protect ensure_valid_themes() from recursion, which can happen for example
2007-03-15  Chris Wilson  <chris@chris-wilson.co.uk>

	* gtk/gtkicontheme.c (ensure_valid_themes), (rescan_themes),
	(gtk_icon_theme_rescan_if_needed): Protect ensure_valid_themes()
	from recursion, which can happen for example if the app tries to
	reload an icon from within a theme-changed handler. (#418531)


svn path=/branches/gtk-2-10/; revision=17522
2007-03-15 18:35:38 +00:00
Emmanuele Bassi
ef85b08765 Merge from trunk:
2007-03-15  Emmanuele Bassi  <ebassi@gnome.org>

	Merge from trunk:

	* gtk/gtkrecentmanager.c: Fix documentation errors. (Morten
	Welinder)

svn path=/branches/gtk-2-10/; revision=17520
2007-03-15 17:13:53 +00:00
Emmanuele Bassi
3bf09b727b Merge from trunk:
2007-03-15  Emmanuele Bassi  <ebassi@gnome.org>

	Merge from trunk:

	* gtk/gtkrecentchooserprivate.h:
	* gtk/gtkrecentchooserutils.c: Share between the widgets
	the recent chooser function for getting the filtered, sorted
	and clamped list of recent files from the manager. (#418219)

	* gtk/gtkrecentchoosermenu.c: Use the newly defined
	_gtk_recent_chooser_get_items() function; remove some
	pointer indirections.

	* gtk/gtkrecentchooserdefault.c: Reload the items every time
	a property affecting the view is changed; move the objects
	unref and the source removal into the dispose function; use
	the newly defined _gtk_recent_chooser_get_items()
	function. (see #338843)

svn path=/branches/gtk-2-10/; revision=17517
2007-03-15 10:44:34 +00:00
Matthias Clasen
674031d980 2.10.11
svn path=/branches/gtk-2-10/; revision=17513
2007-03-14 05:50:11 +00:00
Matthias Clasen
34d73266b9 2.10.11
svn path=/branches/gtk-2-10/; revision=17511
2007-03-14 05:45:35 +00:00
Ihar Hrachyshka
91b9577c84 Updated Belarusian Latin translation (some fixes).
svn path=/branches/gtk-2-10/; revision=17509
2007-03-13 20:35:18 +00:00
Ihar Hrachyshka
62de23c993 Added actual Belarusian Latin translation.
svn path=/branches/gtk-2-10/; revision=17507
2007-03-13 16:56:09 +00:00
Matthias Clasen
345ab456ae Fix tabbed browsing in epiphany. (#413664, Christian Persch)
2007-03-13  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_real_insert_page):
        Fix tabbed browsing in epiphany.  (#413664, Christian Persch)



svn path=/branches/gtk-2-10/; revision=17506
2007-03-13 15:17:05 +00:00
Ray Strode
11ffd10823 add newline to test svn locking feature
svn path=/branches/gtk-2-10/; revision=17504
2007-03-12 18:42:21 +00:00
Matthias Clasen
1f434a8f7a Bump version
svn path=/branches/gtk-2-10/; revision=17503
2007-03-12 18:35:32 +00:00
Matthias Clasen
0b7fbf24d9 2.10.10
svn path=/branches/gtk-2-10/; revision=17501
2007-03-12 18:33:44 +00:00
Takeshi AIHANA
dbbbfbe092 Updated Japanese translation.
2007-03-13  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation.

svn path=/branches/gtk-2-10/; revision=17500
2007-03-12 15:35:06 +00:00
Felix I
856ad7b1f2 Updated Translation
svn path=/branches/gtk-2-10/; revision=17499
2007-03-12 08:10:40 +00:00
Matthias Clasen
47523436d5 Set the background of the panel window on style changes. (#402144,
2007-03-12  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkspinbutton.c (gtk_spin_button_style_set): Set
        the background of the panel window on style changes. (#402144,
        Benjamin Berg)



svn path=/branches/gtk-2-10/; revision=17493
2007-03-12 05:52:23 +00:00
Matthias Clasen
0f9ed45c85 Updates
svn path=/branches/gtk-2-10/; revision=17490
2007-03-12 05:40:12 +00:00
Matthias Clasen
b041ad4c3b Handle the row reference path being NULL. (#410565, Joe Markus Clarke,
2007-03-12  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserbutton.c (change_icon_theme_get_info_cb):
        Handle the row reference path being NULL.  (#410565, Joe Markus
        Clarke, patch by Chris Wilson)



svn path=/branches/gtk-2-10/; revision=17488
2007-03-12 04:12:02 +00:00
Matthias Clasen
27e04bea15 Handle Menu key presses without crash. (#385637, Christian Persch)
2007-03-11  Matthias Clasen  <mclasen@redhat.com>

        * tests/testiconview.c: Handle Menu key presses without
        crash.  (#385637, Christian Persch)



svn path=/branches/gtk-2-10/; revision=17486
2007-03-12 03:15:23 +00:00
Matthias Clasen
5847ef42e3 Don't crash if active_tips_data is NULL. (#382904, Li Yuan)
2007-03-11  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktooltips.c (gtk_tooltips_get_info_from_tip_window):
        Don't crash if active_tips_data is NULL.  (#382904, Li Yuan)



svn path=/branches/gtk-2-10/; revision=17484
2007-03-12 02:54:04 +00:00
Matthias Clasen
2c3a8b5f34 Set first_para_mark to NULL. (#396805, Colin Leroy, patch by Mariano
2007-03-11  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktextview.c (gtk_text_view_set_buffer): Set first_para_mark
        to NULL.  (#396805, Colin Leroy, patch by Mariano Suárez-Alvarez)



svn path=/branches/gtk-2-10/; revision=17482
2007-03-12 02:35:08 +00:00
Kristian Rietveld
876fd96900 Merge from trunk:
2007-03-12  Kristian Rietveld  <kris@gtk.org>

	Merge from trunk:

	* gtk/gtkfilechooserdefault.c (check_save_entry): immediately
	bail out if current_folder is NULL. (#350988, lots of reporters,
	modified patch by Jan Darmochwal).


svn path=/branches/gtk-2-10/; revision=17480
2007-03-12 00:14:28 +00:00
Christian Persch
510a815d20 Don't make the Location: label bold. Bug #372449.
2007-03-12  Christian Persch  <chpe@gnome.org>

	* gtk/gtkfilechooserdefault.c: (browse_widgets_create): Don't make the
	Location: label bold. Bug #372449.

svn path=/branches/gtk-2-10/; revision=17478
2007-03-11 23:22:07 +00:00
Christian Persch
b780ec99f7 Don't make the Location: label bold. Bug #372449.
2007-03-12  Christian Persch  <chpe@gnome.org>

	* gtk/gtkfilechooserdefault.c: (browse_widgets_create): Don't make the
	Location: label bold. Bug #372449.

svn path=/branches/gtk-2-10/; revision=17477
2007-03-11 23:17:37 +00:00
Raphael Higino
28bdea09f5 Updated Brazilian Portuguese translation
svn path=/branches/gtk-2-10/; revision=17475
2007-03-11 18:49:11 +00:00
Goran Rakic
39228b229a Updated Serbian translation
svn path=/branches/gtk-2-10/; revision=17472
2007-03-11 17:06:30 +00:00
Guillaume Savaton
0909673719 filled revision date (prevented correct compilation)
2007-03-11 Guillaume Savaton <llumeao@gmail.com>

   * eo.po: filled revision date (prevented correct compilation)


svn path=/branches/gtk-2-10/; revision=17471
2007-03-11 17:01:02 +00:00
Guillaume Savaton
de0d6575ed Filled revision date in eo.po (prevented correct compilation)
2007-03-11 Guillaume Savaton <llumeao@gmail.com>

   * Filled revision date in eo.po (prevented correct compilation)


svn path=/branches/gtk-2-10/; revision=17470
2007-03-11 16:58:54 +00:00
Mugurel Tudor
af66649dfe Updated Romanian translation by Mişu Moldovan <dumol@gnome.ro>
2007-03-11  Mugurel Tudor  <mugurelu@gnome.ro>

	* ro.po: Updated Romanian translation by
	Mişu Moldovan <dumol@gnome.ro>

svn path=/branches/gtk-2-10/; revision=17469
2007-03-10 23:10:38 +00:00
Mugurel Tudor
0371110ac5 Updated Romanian translation by Mişu Moldovan <dumol@gnome.ro>
2007-03-11  Mugurel Tudor  <mugurelu@gnome.ro>

	* ro.po: Updated Romanian translation by
	Mişu Moldovan <dumol@gnome.ro>

svn path=/branches/gtk-2-10/; revision=17468
2007-03-10 23:10:13 +00:00
Kristian Rietveld
e46cc9a2a8 Updated fix for #356515, merged from trunk:
2007-03-10  Kristian Rietveld  <kris@gtk.org>

	Updated fix for #356515, merged from trunk:

	* gtk/gtktreeview.c (gtk_tree_view_search_dialog_hide): send
	a focus-in event to the tree view after hiding the search dialog;
	only hide the search dialog and send the focus events when the
	dialog is currently visible.


svn path=/branches/gtk-2-10/; revision=17465
2007-03-10 22:47:38 +00:00
Kristian Rietveld
5806be0247 Merge from trunk:
2007-03-10  Kristian Rietveld  <kris@gtk.org>

	Merge from trunk:

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_ref_node),
	(gtk_tree_model_sort_real_unref_node): when (un)reffing an
	element, also (un)ref its parent elements. (Fixes #364946,
	reported by many, testcase by Andreas Koehler).


svn path=/branches/gtk-2-10/; revision=17458
2007-03-10 17:26:38 +00:00
Kristian Rietveld
cb9b825d87 Merge from trunk:
2007-03-10  Kristian Rietveld  <kris@gtk.org>

	Merge from trunk:

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_changed),
	(gtk_tree_model_sort_sort_level): ref count nodes the proper way,
	(gtk_tree_model_sort_ref_node), (gtk_tree_model_sort_real_unref_node),
	(gtk_tree_model_sort_free_level): bring zero ref count loops in
	sync,
	(gtk_tree_model_sort_free_level): free child levels before
	decreasing the zero ref count of the current level,
	(gtk_tree_model_sort_clear_cache): only clear cache if zero_ref_count
	is > 0.


svn path=/branches/gtk-2-10/; revision=17456
2007-03-10 17:20:07 +00:00
Tor Lillqvist
953a688f1c Cosmetics.
svn path=/branches/gtk-2-10/; revision=17455
2007-03-10 09:04:22 +00:00
Matthias Clasen
5d3d5f4f66 Initialize the do_preview field of PrintResponseData. (#396703, Christian
2007-03-10  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkprintoperation-unix.c: Initialize the do_preview
        field of PrintResponseData.  (#396703, Christian Persch)



svn path=/branches/gtk-2-10/; revision=17454
2007-03-10 06:58:35 +00:00
Matthias Clasen
f96e2457d2 Plug some leaks
svn path=/branches/gtk-2-10/; revision=17451
2007-03-10 05:51:24 +00:00
Matthias Clasen
0b92a6f503 Get rid of the unused event argument. Update all callers.
2007-03-09  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtktextview.c (gtk_text_view_end_selection_drag):
        Get rid of the unused event argument. Update all callers.

        * gtk/gtktextview.c (gtk_text_view_focus_out): Call
        gtk_text_view_end_selection_drag.  (#351671, Boyd Timothy)



svn path=/branches/gtk-2-10/; revision=17450
2007-03-10 03:53:15 +00:00
Ihar Hrachyshka
6c78828eea be@latin.po: Fixes in Belarusian Latin translation.
svn path=/branches/gtk-2-10/; revision=17448
2007-03-10 00:15:36 +00:00
Matthias Clasen
4fa3722492 Don't commit modifier-adorned characters. (#331369, #335796, Lin Ma and
2007-03-09  Matthias Clasen <mclasen@redhat.com>

        * modules/input/gtkimcontextxim.c 
        (gtk_im_context_xim_filter_keypress): Don't commit
        modifier-adorned characters.  (#331369, #335796, Lin Ma
        and others)



svn path=/branches/gtk-2-10/; revision=17447
2007-03-09 23:39:11 +00:00
Matthias Clasen
2a1c14354d Fix the build
svn path=/branches/gtk-2-10/; revision=17445
2007-03-09 22:17:58 +00:00
Matthias Clasen
c450c2e8b1 Remove C99isms. (#416525, Kazuki Iwamoto)
2007-03-09  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkfilesystemwin32.c (get_icon_path): Remove
        C99isms.  (#416525, Kazuki Iwamoto)



svn path=/branches/gtk-2-10/; revision=17443
2007-03-09 21:31:58 +00:00
Tor Lillqvist
5707117d1a Update.
2007-03-09  Tor Lillqvist  <tml@novell.com>

	* README.win32: Update.


svn path=/branches/gtk-2-10/; revision=17440
2007-03-09 09:49:34 +00:00
Leonardo Ferreira Fontenelle
0c55ef70fb Fixes in Brazilian Portuguese translation for better consistency.
2007-03-09  Leonardo Ferreira Fontenelle  <leonardof@svn.gnome.org>

	* pt_BR.po: Fixes in Brazilian Portuguese translation for better
	consistency.

svn path=/branches/gtk-2-10/; revision=17439
2007-03-09 06:42:24 +00:00
Matthias Clasen
744a9b476a Updates
svn path=/branches/gtk-2-10/; revision=17438
2007-03-09 05:56:38 +00:00
Matthias Clasen
3477836885 Defer the callbacks to an idle to avoid deadlock with xcb-ified libX11.
2007-03-08  Matthias Clasen <mclasen@redhat.com>

        * gdk/x11/gdkasync.c (send_event_handler): Defer the callbacks
        to an idle to avoid deadlock with xcb-ified libX11.  (#413032,
        Sebastian Dröge)



svn path=/branches/gtk-2-10/; revision=17437
2007-03-09 05:29:46 +00:00
Matthias Clasen
d09c0ec912 Set child visibility to FALSE here; it will be turned back on in
2007-03-08  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_real_insert_page):
        Set child visibility to FALSE here; it will be turned
        back on in switch_page.  (#413664, Carlos Garnacho)



svn path=/branches/gtk-2-10/; revision=17435
2007-03-09 04:54:12 +00:00
Josep Puigdemont i Casamajó
fc154cbcc1 Updated Catalan translation.
svn path=/branches/gtk-2-10/; revision=17433
2007-03-09 00:21:24 +00:00
Laurent Dhima
79b6639882 Updated Albanian translation.
svn path=/branches/gtk-2-10/; revision=17432
2007-03-08 18:45:39 +00:00
Kristian Rietveld
8823b06c62 Revert revision 17315:
2007-03-08  Kristian Rietveld  <kris@gtk.org>

	Revert revision 17315:

	* gtk/gtktreeview.c (gtk_tree_view_search_dialog_hide): send
	a focus-in event to the tree view after hiding the search dialog.
	(#356515, Rich Burridge, Peter Parente).


svn path=/branches/gtk-2-10/; revision=17431
2007-03-08 18:24:04 +00:00
Pema Geyleg
e505dac799 Corrected Dzongkha Translation (Bug: 348790)
svn path=/branches/gtk-2-10/; revision=17428
2007-03-08 04:56:32 +00:00
Pema Geyleg
3243103e95 Corrected Dzongkha Translation (Bug: 355815)
svn path=/branches/gtk-2-10/; revision=17427
2007-03-08 04:50:22 +00:00
Tor Lillqvist
6e75dc235e Add Novell and tbf as copyright holders
svn path=/branches/gtk-2-10/; revision=17424
2007-03-07 23:41:39 +00:00
Mathias Hasselmann
e66030c5ce Use Windows shell icons. Icons are stored in the current theme with the
2007-03-08  Mathias Hasselmann <mathias.hasselmann@gmx.de>

	* gtk/gtkfilesystemwin32.c: Use Windows shell icons. Icons are
	stored in the current theme with the name
	"gtk-win32-shell-icon;PATH;INDEX". PATH and INDEX reference shell
	icons as reported by SHGetFileInfoW. (#412221)


svn path=/branches/gtk-2-10/; revision=17422
2007-03-07 23:32:36 +00:00
Matthias Clasen
d0a231c04d Draw the focus around the arrow if there is no label widget. (#124045,
2007-03-07  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkexpander.c (gtk_expander_paint_focus): Draw the
        focus around the arrow if there is no label widget.
        (#124045, Cody Russell)



svn path=/branches/gtk-2-10/; revision=17420
2007-03-07 21:36:52 +00:00
Matthias Clasen
e29723c10c Set names on the popup widgets to make them themable. (#414975, Benjamin
2007-03-07  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkcombo.c: (gtk_combo_init):
        * gtk/gtkcombobox.c: (gtk_combo_box_set_popup_widget),
        (gtk_combo_box_menu_setup):
        Set names on the popup widgets to make them themable. (#414975,
        Benjamin Berg)



svn path=/branches/gtk-2-10/; revision=17418
2007-03-07 21:14:57 +00:00
Simos Xenitellis
796ef01c6f Updated Greek translation.
svn path=/branches/gtk-2-10/; revision=17416
2007-03-07 19:01:51 +00:00
Guillaume Savaton
5813ecb405 Added Esperanto (eo) translation in po/ Added Esperanto (eo) translation
2007-03-07  Guillaume Savaton <llumeao@gmail.com>

   * Added Esperanto (eo) translation in po/
   * Added Esperanto (eo) translation stub in po-properties/
   * Added eo to ALL_LINGUAS in configure.in


svn path=/branches/gtk-2-10/; revision=17415
2007-03-07 18:53:24 +00:00
Simos Xenitellis
e5b6e6ebf7 Updated Greek translation
svn path=/branches/gtk-2-10/; revision=17414
2007-03-07 16:39:28 +00:00
Michael Natterer
b349b6a420 Merge from trunk:
2007-03-07  Michael Natterer  <mitch@imendio.com>

	Merge from trunk:

	* gtk/gtkcellrendereraccel.c: use multihead safe ungrab functions
	instead of gdk_keyboard_ungrab() and gdk_pointer_ungrab(), remove
	empty finalize() implementation, some cosmetic cleanup
	(bug #415645).


svn path=/branches/gtk-2-10/; revision=17413
2007-03-07 14:20:03 +00:00
Simos Xenitellis
38927acffc Updated Greek translation.
svn path=/branches/gtk-2-10/; revision=17411
2007-03-07 13:31:44 +00:00
Ani Peter
2f9ffd0e92 Updated malayalam translation
svn path=/branches/gtk-2-10/; revision=17410
2007-03-07 12:11:59 +00:00
Ani Peter
57480254d6 Updated malayalam translation
svn path=/branches/gtk-2-10/; revision=17409
2007-03-07 11:22:21 +00:00
Ani Peter
b2a19c3577 Updated malayalam translation
svn path=/branches/gtk-2-10/; revision=17408
2007-03-07 11:21:28 +00:00
Simos Xenitellis
bff6a6e358 Updated Greek translation.
svn path=/branches/gtk-2-10/; revision=17407
2007-03-07 08:52:06 +00:00
Simos Xenitellis
6f96e0146f Updated Greek translation
svn path=/branches/gtk-2-10/; revision=17406
2007-03-07 05:31:57 +00:00
Artur Flinta
d541c17e6b Updated Polish translation by GNOME PL Team.
2007-03-07  Artur Flinta  <aflinta@svn.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.


svn path=/branches/gtk-2-10/; revision=17405
2007-03-06 23:25:54 +00:00
Chris Wilson
eaf4d6d4d1 Be careful not to trigger a style reset before we have loaded any icon
2007-03-06  Chris Wilson  <chris@chris-wilson.co.uk>

	* gtk/gtkicontheme.c (update_current_theme), (gtk_icon_theme_init),
	(do_theme_change), (gtk_icon_theme_set_custom_theme),
	(load_themes):
		Be careful not to trigger a style reset before we have loaded
		any icon themes. (#414875).


svn path=/branches/gtk-2-10/; revision=17403
2007-03-06 18:19:28 +00:00
Hendrik Richter
332daf6f79 Updated German translation.
2007-03-06  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.

svn path=/branches/gtk-2-10/; revision=17400
2007-03-06 17:01:39 +00:00
Laurent Dhima
dc3a11250c Updated Albanian translation.
svn path=/branches/gtk-2-10/; revision=17399
2007-03-06 11:09:52 +00:00
Jovan Naumovski
ec50520ceb 2007-03-06 Jovan Naumovski <jovanna@svn.gnome.org> *mk.po: Updated Macedonian translation.
svn path=/branches/gtk-2-10/; revision=17398
2007-03-06 10:31:13 +00:00
Tor Lillqvist
d096ea1a90 gdk/Makefile.am gdk-pixbuf/Makefile.am Further fixes for building on Win32
2007-03-06  Tor Lillqvist  <tml@novell.com>

	* gdk/Makefile.am
	* gdk-pixbuf/Makefile.am
	* gtk/Makefile.am: Further fixes for building on Win32 outside
	srcdir. (#413492, Mathias Hasselmann)


svn path=/branches/gtk-2-10/; revision=17396
2007-03-06 09:58:06 +00:00
Matthias Clasen
66677703ea Flip more images
svn path=/branches/gtk-2-10/; revision=17394
2007-03-06 04:21:29 +00:00
Ihar Hrachyshka
ad082adfeb Fixed problems with be@latin.
svn path=/branches/gtk-2-10/; revision=17391
2007-03-05 13:34:12 +00:00
Claudio Saavedra
b205ca38d7 Removed be@latin from ALL_LINGUAS, as it's currently breaking the build.
2007-03-04  Claudio Saavedra  <csaavedra@alumnos.utalca.cl>

        * configure.in: Removed be@latin from ALL_LINGUAS, as it's currently
        breaking the build.


svn path=/branches/gtk-2-10/; revision=17389
2007-03-05 00:49:24 +00:00
Ihar Hrachyshka
aa4dc7d07f be@latin.po: Added Belarusian Latin translation by Ales Navicki.
svn path=/branches/gtk-2-10/; revision=17384
2007-03-04 13:36:41 +00:00
Pema Geyleg
fbdfec43be Updated Dzongkha Trnslation
svn path=/branches/gtk-2-10/; revision=17383
2007-03-04 06:47:58 +00:00
Chao-Hsiung Liao
b9f45be30a Updated Traditional Chinese translation(Hong Kong). Updated Traditional
2007-03-04  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>

	* zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
	* zh_TW.po: Updated Traditional Chinese translation(Taiwan).


svn path=/branches/gtk-2-10/; revision=17382
2007-03-04 00:23:22 +00:00
Vincent van Adrighem
3b83f95ce1 Translation updated by Tino Meinen.
2007-03-03  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.

svn path=/branches/gtk-2-10/; revision=17381
2007-03-03 21:12:39 +00:00
Leonid Kanter
543642501d Updated Russian translation
svn path=/branches/gtk-2-10/; revision=17378
2007-03-03 18:27:16 +00:00
Leonid Kanter
e30093b50d Updated Russian translation
svn path=/branches/gtk-2-10/; revision=17377
2007-03-03 18:22:33 +00:00
Funda Wang
dd70f458f7 Updated Simplified Chinese translation.
svn path=/branches/gtk-2-10/; revision=17376
2007-03-03 10:00:21 +00:00
Funda Wang
a7dffb89d1 Updated Simplified Chinese translation.
svn path=/branches/gtk-2-10/; revision=17375
2007-03-03 09:59:33 +00:00
Amanpreet Singh Alam
4ddc45d7f2 updatingfor Punjabi by alam
svn path=/branches/gtk-2-10/; revision=17374
2007-03-03 09:56:06 +00:00
Ankitkumar Rameshchandra Patel
06a2e90d4c Updated Translation
svn path=/branches/gtk-2-10/; revision=17373
2007-03-02 07:16:22 +00:00
Murray Cumming
7355017883 Fix the build, by converting the case statement to an if else. I am only
2007-03-01  Murray Cumming  <murrayc@murrayc.com>

        * gtk/gtksettings.c: (gtk_settings_get_property): Fix the build, by 
        converting the case statement to an if else. I am only guessing that 
        this is the desired logic.

svn path=/branches/gtk-2-10/; revision=17372
2007-03-01 14:42:29 +00:00
Matthias Clasen
75cb95adde Always store gtk-color-scheme values from all sources in the
2007-03-01  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtksettings.c: Always store gtk-color-scheme
        values from all sources in the ColorSchemeData struct
        and ignore the property_value for gtk-color-scheme.
        This fixes #412596, reported by Thomas Wood.



svn path=/branches/gtk-2-10/; revision=17371
2007-03-01 06:49:21 +00:00
Daniel Nylander
c8da579f84 sv.po: Swedish translation updated
svn path=/branches/gtk-2-10/; revision=17368
2007-02-28 21:40:11 +00:00
Matthias Clasen
1d507cb560 Make color scheme update properly when changing themes. (#402131, Benjamin
2007-02-28  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtksettings.c: Make color scheme update properly
        when changing themes.  (#402131, Benjamin Berg)


svn path=/branches/gtk-2-10/; revision=17367
2007-02-28 19:49:34 +00:00
Matthias Clasen
f01351d17e Don't leak references to the color-hash gotten from GtkSettings. (#409357,
2007-02-28  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkrc.c: Don't leak references to the color-hash
        gotten from GtkSettings.  (#409357, Benjamin Berg)



svn path=/branches/gtk-2-10/; revision=17365
2007-02-28 17:16:27 +00:00
Hendrik Richter
e1b41e3afc Updated German translation.
2007-02-28  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.

svn path=/branches/gtk-2-10/; revision=17362
2007-02-28 10:35:34 +00:00
Felix Riemann
eb0b44f770 Add image/x-ico to supported mime types. Fixes bug #393599.
2007-02-27  Felix Riemann  <friemann@svn.gnome.org>

	* io-ico.c: (fill_info): Add image/x-ico to supported mime types.
	Fixes bug #393599.

svn path=/branches/gtk-2-10/; revision=17360
2007-02-27 19:25:22 +00:00
Matthias Clasen
3e82928d30 Apply a patch by Carlos Garnacho to fix several problems with filechooser
2007-02-26  Matthias Clasen <mclasen@redhat.com>

        Apply a patch by Carlos Garnacho to fix several problems
        with filechooser size handling (#325477, #151169, 143213,
        #153785)

        * gtk/gtkfilechooserdefault.c: Increase NUM_LINES slightly.
        (browse_widgets_create): Don't force the paned position to 200.
        (find_good_size_from_style): Take the size of the extra widget
        into account.

        * gtk/gtkfilechooserdialog.c (file_chooser_widget_update_hints):
        Accept a minimal width parameter. Update all callers.


svn path=/branches/gtk-2-10/; revision=17358
2007-02-26 19:53:04 +00:00
Matthias Clasen
4290028313 Make folder selection work for print-to-file
svn path=/branches/gtk-2-10/; revision=17355
2007-02-26 14:58:39 +00:00
Chris Wilson
7884da3b1a Bug 409101 – invalid read to gtkicontheme.c insert_theme(), might cause
2007-02-26  Chris Wilson  <chris@chris-wilson.co.uk>

	Bug 409101 – invalid read to gtkicontheme.c insert_theme(), might cause gnome-panel crash

	* gtk/gtkicontheme.c: (scan_directory):
		Reorder the replacement of the shared base_name key, so that we
		avoid dereferencing the string in the icon_theme->all_icon
		hash table after freeing it from the dir->icons hash table.


svn path=/branches/gtk-2-10/; revision=17352
2007-02-26 14:05:31 +00:00
Ilkka Tuohela
507e28c958 Updated Finnish translation
svn path=/branches/gtk-2-10/; revision=17349
2007-02-25 16:13:30 +00:00
Kjartan Maraas
3274293566 Updated Norwegian bokmål translation.
2007-02-25  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.

svn path=/branches/gtk-2-10/; revision=17348
2007-02-25 12:53:48 +00:00
Gabor Kelemen
25a59510f8 Translation updated.
2007-02-25  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated.

svn path=/branches/gtk-2-10/; revision=17347
2007-02-24 22:59:44 +00:00
Matic Žgur
4be559970c Updated Slovenian translation.
svn path=/branches/gtk-2-10/; revision=17346
2007-02-24 20:00:56 +00:00
Kjartan Maraas
f0fdcb5c18 Updated Norwegian bokmål translation.
2007-02-24  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.

svn path=/branches/gtk-2-10/; revision=17345
2007-02-24 14:34:46 +00:00
Gintautas Miliauskas
a7ac778c27 Updated Lithuanian translation (rinkmena -> failas).
2007-02-22  Gintautas Miliauskas  <gintas@akl.lt>

	* lt.po: Updated Lithuanian translation (rinkmena -> failas).



svn path=/branches/gtk-2-10/; revision=17343
2007-02-22 11:42:13 +00:00
Ilkka Tuohela
86baad2569 Updated Finnish translation
svn path=/branches/gtk-2-10/; revision=17338
2007-02-20 05:29:18 +00:00
Ilkka Tuohela
2a7731d588 Updated Finnish translation
svn path=/branches/gtk-2-10/; revision=17337
2007-02-20 05:27:50 +00:00
Leonardo Ferreira Fontenelle
c9b047c17d Fixed missing update info about pt_BR
svn path=/branches/gtk-2-10/; revision=17336
2007-02-20 00:39:53 +00:00
Leonardo Ferreira Fontenelle
f4843b0e92 Updated Brazilian Portuguese translation.
2007-02-19  Leonardo Ferreira Fontenelle  <leonardof@svn.gnome.org>

	* pt_BR.po: Updated Brazilian Portuguese translation.

svn path=/branches/gtk-2-10/; revision=17335
2007-02-20 00:36:59 +00:00
Nguyen Thai Ngoc Duy
0f7a5b2dcd updated vi.po
svn path=/branches/gtk-2-10/; revision=17334
2007-02-19 09:00:54 +00:00
Artur Flinta
1770430667 Updated Polish translation by GNOME PL Team.
2007-02-18  Artur Flinta  <aflinta@cvs.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.


svn path=/branches/gtk-2-10/; revision=17331
2007-02-18 21:18:08 +00:00
Matthias Clasen
7d2b5ec234 Ignore invisible text when going to end of the previous line. (#382565)
2007-02-18  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktextlayout.c (gtk_text_layout_move_iter_visually):
        Ignore invisible text when going to end of the previous line.
        (#382565)


svn path=/branches/gtk-2-10/; revision=17330
2007-02-18 16:50:45 +00:00
Amanpreet Singh Alam
1214848172 updating for Punjabi by AP S Alam
svn path=/branches/gtk-2-10/; revision=17329
2007-02-18 16:42:29 +00:00
Amanpreet Singh Alam
feaeb1ddbb updating for Punjabi by AP S Alam
svn path=/branches/gtk-2-10/; revision=17327
2007-02-18 15:44:23 +00:00
Alexander Shopov
fae90ca7f8 Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2007-02-17  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>

svn path=/branches/gtk-2-10/; revision=17322
2007-02-17 20:54:19 +00:00
Alexander Shopov
f6994f580f Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2007-02-17  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>

svn path=/branches/gtk-2-10/; revision=17319
2007-02-17 20:49:34 +00:00
Changwoo Ryu
0d2265cba8 Updated Korean translation.
2007-02-17  Changwoo Ryu  <cwryu@debian.org>

	* ko.po: Updated Korean translation.

svn path=/branches/gtk-2-10/; revision=17318
2007-02-17 12:26:33 +00:00
Kristian Rietveld
d6c817be4c Merged from trunk:
2007-02-16  Kristian Rietveld  <kris@gtk.org>

	Merged from trunk:

	* gtk/gtktreeview.c (gtk_tree_view_search_dialog_hide): send
	a focus-in event to the tree view after hiding the search dialog.
	(#356515, Rich Burridge, Peter Parente).


svn path=/branches/gtk-2-10/; revision=17315
2007-02-16 21:25:31 +00:00
Maxim V. Dziumanenko
3562b3f667 Maxim Dziumanenko <dziumanenko@gmail.com>
* Update Ukrainian translation

svn path=/branches/gtk-2-10/; revision=17311
2007-02-16 12:35:45 +00:00
Matthias Clasen
04ebc430df Fix a small leak
svn path=/branches/gtk-2-10/; revision=17309
2007-02-16 06:13:15 +00:00
Matthias Clasen
37b0d5d7c8 Plug a leak in an error path
svn path=/branches/gtk-2-10/; revision=17307
2007-02-16 05:34:27 +00:00
Matthias Clasen
a498525e1a Be more careful when checking for ButtonRelease events that end implicit
2007-02-15  Matthias Clasen  <mclasen@redhat.com>

        * gdk/x11/gdmain-x11.c (_gdk_xgrab_check_button_event): Be more
        careful when checking for ButtonRelease events that end implicit
        grabs.  (#386618, Christof Krüger)



svn path=/branches/gtk-2-10/; revision=17305
2007-02-16 04:04:44 +00:00
Matthias Clasen
dd83258aaf Free the lines even if there are no views. (#408018, Albert Huang)
2007-02-15  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktextbtree.c (_gtk_text_btree_delete): Free the lines
        even if there are no views.  (#408018, Albert Huang)



svn path=/branches/gtk-2-10/; revision=17303
2007-02-15 20:44:28 +00:00
Cody Russell
a4d9b7b14e Fix Win32 window resizing/repainting and widget flickering, backport from trunk
svn path=/branches/gtk-2-10/; revision=17300
2007-02-15 18:42:26 +00:00
Daniel Nylander
c5a3348008 sv.po: Swedish translation updated
svn path=/branches/gtk-2-10/; revision=17296
2007-02-14 23:02:38 +00:00
Theppitak Karoonboonyanan
f17a7840bd Updated Thai translation.
* th.po: Updated Thai translation.


svn path=/branches/gtk-2-10/; revision=17288
2007-02-11 04:47:51 +00:00
Stéphane Raimbault
32f8ec9c74 Updated French translation.
2007-02-11  Stéphane Raimbault  <stephane.raimbault@gmail.com>

	* fr.po: Updated French translation.

svn path=/branches/gtk-2-10/; revision=17287
2007-02-11 02:57:17 +00:00
Duarte Loreto
7276aa4d00 Updated Portuguese translation.
2007-02-10  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.

svn path=/branches/gtk-2-10/; revision=17286
2007-02-10 13:34:27 +00:00
Emmanuele Bassi
62d75a2813 Backport from trunk:
2007-02-09  Emmanuele Bassi  <ebassi@gnome.org>

	Backport from trunk:

	* gtk/gtkrecentchoosermenu.c (idle_populate_func): Keep count
	of the displayed items to build the menu items mnemonic instead
	of the overall item count. (#377164)

	(idle_populate_clean_up): Append a menu item if all the items
	got filtered in the idle populate function. (#405696)

	* tests/Makefile.am:
	* tests/testrecentchoosermenu.c: Add a test for the
	GtkRecentChooserMenu widget.

svn path=/branches/gtk-2-10/; revision=17285
2007-02-10 13:23:22 +00:00
Djihed Afifi
3fac8c321f Updated Arabic Translation.
svn path=/branches/gtk-2-10/; revision=17282
2007-02-09 17:40:19 +00:00
David Lodge
4676e6558e Updated (British) English translation
svn path=/branches/gtk-2-10/; revision=17280
2007-02-09 12:29:49 +00:00
Djihed Afifi
f775006557 Updated Arabic Translation.
svn path=/branches/gtk-2-10/; revision=17278
2007-02-08 20:14:17 +00:00
Chris Wilson
53ac6707b2 Set the GError if the image is zero length. (#405327)
2007-02-07  Chris Wilson  <chris@chris-wilson.co.uk>

	* io-jpeg.c: (gdk_pixbuf__jpeg_image_load),
	(gdk_pixbuf__jpeg_image_load_increment): Set the GError
	if the image is zero length. (#405327)


svn path=/branches/gtk-2-10/; revision=17273
2007-02-07 14:50:39 +00:00
Theppitak Karoonboonyanan
05dbf5cabe Updated Thai translation by Neutron Soutmun <neo.neutron@gmail.com>.
* th.po: Updated Thai translation by
	Neutron Soutmun <neo.neutron@gmail.com>.


svn path=/branches/gtk-2-10/; revision=17271
2007-02-06 15:55:54 +00:00
Matthias Clasen
52cf72f132 Protect against stop_load begin broken. (#403255, Lucas Mazzardo Veloso)
2007-02-06  Matthias Clasen  <mclasen@redhat.com>

        * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Protect
        against stop_load begin broken.  (#403255, Lucas Mazzardo Veloso)

`

svn path=/branches/gtk-2-10/; revision=17268
2007-02-06 14:05:01 +00:00
Michael Natterer
d01f466ee0 Merge from trunk:
2007-02-05  Michael Natterer  <mitch@imendio.com>

	Merge from trunk:

	* gtk/gtktextbuffer.h (enum GtkTextBufferTargetInfo): changed
	values from G_MAXUINT-0, -1, -2 to -1, -2, -3 so we stay within
	ansi C enum value limits. Fixes bug #46757.


svn path=/branches/gtk-2-10/; revision=17261
2007-02-05 10:37:04 +00:00
Tor Lillqvist
bfc9c99ce0 Nitpick, define BITMAPV5HEADER also for w32api < 3.x. Not that I know
if gdk/win32 will compile with such an old beast.


svn path=/branches/gtk-2-10/; revision=17257
2007-02-04 00:31:20 +00:00
Tor Lillqvist
2c35024fd8 Don't define BITMAPV5HEADER on mingw with w32api >= 3.8, which has it in
2007-02-04  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkcursor-win32.c: Don't define BITMAPV5HEADER on
	mingw with w32api >= 3.8, which has it in wingdi.h. (#403896)


svn path=/branches/gtk-2-10/; revision=17255
2007-02-04 00:17:30 +00:00
Changwoo Ryu
11b9d1bab3 Updated Korean translation.
2007-02-04  Changwoo Ryu  <cwryu@debian.org>

	* ko.po: Updated Korean translation.

svn path=/branches/gtk-2-10/; revision=17254
2007-02-03 19:43:20 +00:00
Changwoo Ryu
8599aa445b Updated Korean translation.
2007-02-04  Changwoo Ryu  <cwryu@debian.org>

	* ko.po: Updated Korean translation.

svn path=/branches/gtk-2-10/; revision=17253
2007-02-03 19:36:40 +00:00
Mariano Suárez-Alvarez
2ddd4fc58c be a little more helpful with the docs on GtkCellRendererText:alignment.
2007-02-02  Mariano Suárez-Alvarez  <mariano@gnome.org>

	* gtk/gtkcellrenderertext.c(gtk_cell_renderer_text_class_init):
	be a little more helpful with the docs on GtkCellRendererText:alignment.
	Bug #403409.



svn path=/branches/gtk-2-10/; revision=17249
2007-02-02 03:47:19 +00:00
Duarte Loreto
c6c190dcb9 Updated Portuguese translation.
2007-01-31  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.

svn path=/branches/gtk-2-10/; revision=17245
2007-01-31 22:17:40 +00:00
Duarte Loreto
de3255d09b Updated Portuguese translation.
2007-01-31  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.

svn path=/branches/gtk-2-10/; revision=17244
2007-01-31 22:08:37 +00:00
Christian Persch
57a0ed7747 Hide the Credits button iff there are no credits to show. Bug #402806.
2007-01-31  Christian Persch  <chpe@svn.gnome.org>

	* gtk/gtkaboutdialog.c: (update_credits_button_visibility),
	(gtk_about_dialog_set_authors), (gtk_about_dialog_set_documenters),
	(gtk_about_dialog_set_artists),
	(gtk_about_dialog_set_translator_credits): Hide the Credits button iff
	there are no credits to show. Bug #402806.

svn path=/branches/gtk-2-10/; revision=17243
2007-01-31 18:41:21 +00:00
Tor Lillqvist
6cfd2ff7a3 New debugging function. (_gdk_input_wintab_init_check): Call it when
2007-01-31  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkinput-win32.c (print_cursor): New debugging
	function.
	(_gdk_input_wintab_init_check): Call it when debugging output is
	requested.
	(_gdk_input_wintab_init_check): Skip duplicated cursors for Wacom
	tablets. The Wacom driver reports duplicated cursors with
	physid==0. Fix verified by Robert *gren. (Sorry, should be
	U+00D6 there, but svn won't let me use UTF-8 in the commit
	log.)


svn path=/branches/gtk-2-10/; revision=17240
2007-01-30 23:21:42 +00:00
Felix Riemann
e5f8b58d7b Fix leaked string. Fixes bug #402565.
2007-01-30  Felix Riemann  <friemann@svn.gnome.org>

	* modules/printbackends/file/gtkprintbackendfile.c:
	(file_printer_get_options): Fix leaked string. Fixes bug #402565.

svn path=/branches/gtk-2-10/; revision=17239
2007-01-30 20:21:37 +00:00
Matthias Clasen
3eaf016542 Be more careful about toplevel possibly being NULL. (#402453, Sebastian
2007-01-30  Matthias Clasen  <mclasen@redhat.com>

        * gdk/x11/gdkwindow-x11.c (gdk_x11_window_move_to_current_desktop):
        (gdk_x11_window_set_user_time): Be more careful about toplevel
        possibly being NULL.  (#402453, Sebastian Bacher)



svn path=/branches/gtk-2-10/; revision=17237
2007-01-30 18:39:01 +00:00
Takeshi AIHANA
108eaec8d7 Updated Japanese translation.
2007-01-27  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation.

svn path=/branches/gtk-2-10/; revision=17226
2007-01-27 07:27:33 +00:00
Takeshi AIHANA
611c5685c4 Updated Japanese translation.
2007-01-27  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation.

svn path=/branches/gtk-2-10/; revision=17225
2007-01-27 07:24:24 +00:00
Michael Natterer
2d9037d442 Merge from trunk:
2007-01-26  Michael Natterer  <mitch@imendio.com>

	Merge from trunk:

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize):
	destroy the XIM only if it exists. While the code does look safe
	in general, there can be corner cases where the "reconnecting"
	boolean being FALSE does not correspond to the XIM being
	allocated (fixes #329450, fix taken from maemo-gtk).


svn path=/branches/gtk-2-10/; revision=17220
2007-01-26 23:59:14 +00:00
Matthias Clasen
a37a18b1c9 Reduce locking overhead by not repeatedly getting the paintable iface.
2007-01-25  Matthias Clasen  <mclasen@redhat.com>

        * gdk/gdkwindow.c: Reduce locking overhead by not repeatedly getting
        the paintable iface.

2

svn path=/branches/gtk-2-10/; revision=17214
2007-01-25 14:55:11 +00:00
Michael Natterer
04b78248e9 Merge from trunk:
2007-01-24  Michael Natterer  <mitch@imendio.com>

	Merge from trunk:

	* gtk/gtkwidget.c (gtk_widget_set_state): revert generic disabling
	of PRELIGHT state for the reasons given in bug #135666. Widget
	states are sometimes abused or otherwise used wrongly for historic
	reasons, causing this part of the patch to break e.g. menu items.


svn path=/branches/gtk-2-10/; revision=17212
2007-01-24 16:16:05 +00:00
Roozbeh Pournader
6150cebb6c Remove mention of no-longer-existing PATCH keyword in bugzilla. (#396899)
2007-01-24  Roozbeh Pournader  <roozbeh@farsiweb.info>

	* README: Remove mention of no-longer-existing PATCH
	keyword in bugzilla. (#396899)

svn path=/branches/gtk-2-10/; revision=17210
2007-01-24 13:46:51 +00:00
Kjartan Maraas
d439452e11 Revert the tilde patch I commited a while ago since it apparently doesn't
2007-01-24  Kjartan Maraas  <kmaraas@gnome.org>

	* gtk/gtkfilesystemunix.c: (expand_tilde):
	Revert the tilde patch I commited a while ago since it
	apparently doesn't work with later releases of gtk+ anyway.

svn path=/branches/gtk-2-10/; revision=17208
2007-01-24 08:35:29 +00:00
Carlos Garcia Campos
a34b0ee3f2 Fix memory leak. Fixes bug #399907.
2007-01-23  Carlos Garcia Campos  <carlosgc@gnome.org>
	* gtk/gtkpagesetup.c
	(gtk_page_setup_set_paper_size_and_default_margins): Fix memory leak.
	Fixes bug #399907.

svn path=/branches/gtk-2-10/; revision=17207
2007-01-23 21:28:51 +00:00
Stéphane Raimbault
facec3427c Updated French translation by Robert-André Mauchin and Stéphane
2007-01-23  Stéphane Raimbault  <stephane.raimbault@gmail.com>
        
        * po/fr.po: Updated French translation by Robert-André Mauchin
          and Stéphane Raimbault.

        * po-properties/fr.po: Updated French translation by
          Robert-André Mauchin.

svn path=/branches/gtk-2-10/; revision=17205
2007-01-23 19:57:47 +00:00
Murray Cumming
921d8fb377 gtk_tree_path_next(): Add a note to the documentation about the changed
2007-01-23  Murray Cumming  <murrayc@murrayc.com>

        * gtk/gtktreemodel.c: gtk_tree_path_next(): 
        Add a note to the documentation about the changed path being only a 
        path to a potential node, so you must check that it really exists.

svn path=/branches/gtk-2-10/; revision=17204
2007-01-23 14:55:30 +00:00
Matthias Clasen
2cf08cd118 Bump version
svn path=/branches/gtk-2-10/; revision=17202
2007-01-22 18:09:52 +00:00
Matthias Clasen
ec0859064a 2.10.9
svn path=/branches/gtk-2-10/; revision=17200
2007-01-22 18:06:31 +00:00
Matthias Clasen
d1ea7509d7 Fix error reporting in the gif loader
svn path=/branches/gtk-2-10/; revision=17198
2007-01-21 17:28:20 +00:00
Kjartan Maraas
a897a5ec9a Updated Norwegian bokmål translation.
2007-01-20  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.

svn path=/branches/gtk-2-10/; revision=17196
2007-01-20 10:33:42 +00:00
Matthias Clasen
e8629591a7 Fix build breakage
svn path=/branches/gtk-2-10/; revision=17194
2007-01-19 15:30:14 +00:00
Matthias Clasen
6e2e3329e6 Fix problems with the initial focus in GtkCalendar. (#397783, Vincent
2007-01-18  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcalendar.c: Fix problems with the initial
        focus in GtkCalendar.  (#397783, Vincent Untz)



svn path=/branches/gtk-2-10/; revision=17191
2007-01-19 03:55:54 +00:00
Robert Oegren
f74856bfdc Fix for bug #143460 - missed tablet clicks on Windows
2007-01-19  Robert Oegren  <gtk@roboros.com>

	Fix for bug #143460 - missed tablet clicks on Windows

	* gdk/win32/gdkinput-win32.c (_gdk_input_wintab_init_check):
	Request absolute reporting of tablet button state, and cut down
	the packet queue size a bit.
	(_gdk_input_other_event): Change button state handling
	accordingly. Also drop the no longer necessary code that detects
	missed clicks/releases for button 1. The switch to absolute button
	state should prevent missed events for all buttons. Additionally,
	swap button 2 and 3.
	(_gdk_input_grab_pointer): Don't reset button_state, that will only
	cause a new press event as soon as the next tablet packet arrives.


svn path=/branches/gtk-2-10/; revision=17189
2007-01-19 02:49:41 +00:00
Tor Lillqvist
e483a177d3 gdk-pixbuf/Makefile.am gdk/Makefile.am gdk/win32/Makefile.am Fixes for
2007-01-18  Tor Lillqvist  <tml@novell.com>

	* gdk-pixbuf/Makefile.am
	* gdk/Makefile.am
	* gdk/win32/Makefile.am
	* gtk/Makefile.am: Fixes for building outside srcdir on
	Win32. (#336819, #340113) Drop distributing the handmade .la
	libtool wrappers for the wntab32x and ie55uid libraries. It's too
	much trouble making them work when building outside srcdir. Just
	link to these libraries direcly using -Wl,libfoo.a.


svn path=/branches/gtk-2-10/; revision=17184
2007-01-18 23:07:06 +00:00
Matthias Clasen
8b7373c303 Fix a typo
svn path=/branches/gtk-2-10/; revision=17181
2007-01-17 18:22:03 +00:00
Michael Natterer
121d21ee15 Patch taken from maemo-gtk (merged from trunk):
2007-01-17  Michael Natterer  <mitch@imendio.com>

	Patch taken from maemo-gtk (merged from trunk):

	* io-png.c (png_text_to_pixbuf_option): don't call g_convert() on
	ASCII strings.

	(png_info_callback): set an error when the size_func would scale
	the pixbuf away completely.


svn path=/branches/gtk-2-10/; revision=17180
2007-01-17 14:12:40 +00:00
Tor Lillqvist
cacff6dc34 Typos.
svn path=/branches/gtk-2-10/; revision=17178
2007-01-17 13:16:18 +00:00
Matthias Clasen
ea5acc6289 fix the build
svn path=/branches/gtk-2-10/; revision=17176
2007-01-17 13:14:57 +00:00
Tor Lillqvist
9c72102e37 Include also the COPYING file.
2007-01-17  Tor Lillqvist  <tml@novell.com>

	* gtk-zip.sh.in: Include also the COPYING file.


svn path=/branches/gtk-2-10/; revision=17173
2007-01-17 13:09:46 +00:00
Emmanuele Bassi
00a92312e2 Fix a wrong free() call. (Thanks to Thomas Wood for catching that)
2007-01-17  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentchoosermenu.c: Fix a wrong free() call. (Thanks
	to Thomas Wood for catching that)

svn path=/branches/gtk-2-10/; revision=17172
2007-01-17 12:30:18 +00:00
Matthias Clasen
d5bdb44d81 Don't use httpGetFd() when building against cups 1.1
2007-01-17  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkprintbackendcups.c: Don't use
        httpGetFd() when building against cups 1.1



svn path=/branches/gtk-2-10/; revision=17171
2007-01-17 06:12:19 +00:00
Matthias Clasen
f9639990ee 2.10.8
svn path=/branches/gtk-2-10/; revision=17169
2007-01-17 05:07:19 +00:00
Matthias Clasen
b50b2ecfd3 2.10.8
svn path=/branches/gtk-2-10/; revision=17167
2007-01-17 05:02:33 +00:00
Matthias Clasen
11c47c1ece updates
svn path=/branches/gtk-2-10/; revision=17166
2007-01-17 04:33:32 +00:00
Matthias Clasen
a439b755f5 Fix memory leaks in the error case
svn path=/branches/gtk-2-10/; revision=17164
2007-01-17 04:21:35 +00:00
Tor Lillqvist
4759035f4a Merge from trunk, for discussion see #396175:
2007-01-17  Tor Lillqvist  <tml@novell.com>

	Merge from trunk, for discussion see #396175:

	* gtk/gtkimmodule.c: Do the prefix corrections always on Win32,
	not just when GTK_LIBDIR is defined. i.e., until now they were
	done only in the autoconfiscated gcc builds. Hans needs to make
	sure GTK_LIBDIR and GTK_LOCALEDIR are defined also in MSVC builds
	now.
	(correct_localedir_prefix): New function, like
	correct_libdir_prefix(), but for GTK_LOCALEDIR, in case
	GTK_LOCALEDIR is not a descendant of GTK_LIBDIR.
	(gtk_im_module_initialize): Thus call correct_localedir_prefix()
	on the domain_dirname instead of correct_libdir_prefix().
	(_gtk_im_module_list): Call correct_localedir_prefix() on
	simple_context_info.domain_dirname.


svn path=/branches/gtk-2-10/; revision=17162
2007-01-17 01:24:47 +00:00
Matthias Clasen
f44e1fa81c Queue a redraw when the grab changes. (#396470, Benjamin Berg)
2007-01-16  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkrange.c (range_grab_remove): Queue a redraw when the
        grab changes.  (#396470, Benjamin Berg)



svn path=/branches/gtk-2-10/; revision=17160
2007-01-16 14:19:04 +00:00
Matic Žgur
20922e75a9 Updated Slovenian translation.
svn path=/branches/gtk-2-10/; revision=17158
2007-01-16 10:51:28 +00:00
Emmanuele Bassi
1d1122b357 Backport from trunk.
2007-01-15  Emmanuele Bassi  <ebassi@gnome.org>

	Backport from trunk.

	* gtk/gtkrecentchoosermenu.c: Ellipsize the menu items label
	if they grow too much. (#357303)

svn path=/branches/gtk-2-10/; revision=17157
2007-01-15 13:09:58 +00:00
Yair Hershkovitz
dc3fefed7c updated hebrew translation
svn path=/branches/gtk-2-10/; revision=17155
2007-01-15 08:43:33 +00:00
Matthias Clasen
b70226dc94 When finding a matching non-scalable dir, keep going and look for a closer
2007-01-14  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkicontheme.c (theme_lookup_icon): When finding a matching
        non-scalable dir, keep going and look for a closer match.
        (#395830, Luca Ferretti)


svn path=/branches/gtk-2-10/; revision=17154
2007-01-15 02:58:13 +00:00
Alexander Shopov
4e64cf615c Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2007-01-14  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>

svn path=/branches/gtk-2-10/; revision=17151
2007-01-14 17:50:06 +00:00
Hans Breuer
547e0cbf48 Merge from trunk:
2007-01-14  Hans Breuer <hans@breuer.org>

	Merge from trunk:

	* gtk/gtktreeview.c : use g_snprintf instead of snprintf, which is
	not available everywhere

	* gtk/makefile.msc.in : updated


svn path=/branches/gtk-2-10/; revision=17150
2007-01-14 17:42:48 +00:00
Matthias Clasen
444380a570 Don't crash if menu or toolbar positions can't be found. (#396161, Hans
2007-01-13  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkuimanager.c: Don't crash if menu or toolbar
        positions can't be found.  (#396161, Hans Breuer)



svn path=/branches/gtk-2-10/; revision=17148
2007-01-14 05:33:41 +00:00
Matthias Clasen
171afc0d5c Plug memory leaks. (#396160, Carlos Garcia Campos)
2007-01-13  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkselection.c (_gtk_selection_request): Plug
        memory leaks.  (#396160, Carlos Garcia Campos)



svn path=/branches/gtk-2-10/; revision=17146
2007-01-14 05:17:09 +00:00
Matthias Clasen
23d0867f6c Link libgtk against Xfixes. (#396074, Tommi Komulainen)
2007-01-13  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Link libgtk against Xfixes.  (#396074,
        Tommi Komulainen)



svn path=/branches/gtk-2-10/; revision=17144
2007-01-14 05:02:56 +00:00
Matthias Clasen
abe3d3f8a6 Avoid a compiler warning. (#395045, Chris Wilson)
2007-01-13  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkradiobutton.c (gtk_radio_button_focus): Avoid
        a compiler warning.  (#395045, Chris Wilson)



svn path=/branches/gtk-2-10/; revision=17142
2007-01-14 04:33:53 +00:00
Hans Breuer
b577576981 Merge from trunk:
2007-01-13  Hans Breuer <hans@breuer.org>

	Merge from trunk:

	* gtk/gtkprintoperation-win32.c : take the custom tab label from
	gtk_print_operation_set_custom_tab_label() into account (bug #390746).

svn path=/branches/gtk-2-10/; revision=17140
2007-01-13 22:29:05 +00:00
Pascal Terjan
04f49bb8b1 Merge from trunk:
2007-01-13  Pascal Terjan  <pterjan@linuxfr.org>

	Merge from trunk:

	* gtk/gtknotebook.c (gtk_notebook_draw_focus): fix crasher if
	cur_page is NULL (bug #395326).


svn path=/branches/gtk-2-10/; revision=17138
2007-01-13 21:53:56 +00:00
Žygimantas Beručka
bffd3ede71 Updated Lithuanian translation.
svn path=/branches/gtk-2-10/; revision=17136
2007-01-13 20:51:19 +00:00
Michael Natterer
057fd6e8bd Merge from trunk:
2007-01-12  Michael Natterer  <mitch@imendio.com>

	Merge from trunk:

	* gtk/gtkentry.c (gtk_entry_button_press): don't add
	entry->scroll_offset to entry->drag_start_y. Fixes the entry
	starting drags after ridiculously small mouse movements.


svn path=/branches/gtk-2-10/; revision=17135
2007-01-12 11:59:43 +00:00
Richard Hult
ae710a1c6f Close the file after it's loaded (bug #395316).
2007-01-11  Richard Hult  <richard@imendio.com>

	* demos/gtk-demo/main.c: (load_file): Close the file after it's
	loaded (bug #395316).

svn path=/branches/gtk-2-10/; revision=17133
2007-01-11 14:28:51 +00:00
Kjartan Maraas
01a4cc3a06 Merge fix for making tilde go to $HOME in the location entry. Patch from
2007-01-11  Kjartan Maraas  <kmaraas@gnome.org>

	* gtk/gtkfilesystemunix.c: (expand_tilde): Merge fix
	for making tilde go to $HOME in the location entry.
	Patch from Yevgen Muntyan. Closes bug #334168.

svn path=/branches/gtk-2-10/; revision=17131
2007-01-11 00:55:43 +00:00
Kristian Rietveld
e82ff9da5e refactor to initialize indicator_size to TOGGLE_WIDTH instead of the
2007-01-10  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_init):
	refactor to initialize indicator_size to TOGGLE_WIDTH instead
	of the hardcoded value of 12.


svn path=/branches/gtk-2-10/; revision=17127
2007-01-10 17:31:22 +00:00
Matthias Clasen
15f27ded85 Fix the directfb cairo test. (#394855, Josselin Mouette)
2007-01-09  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Fix the directfb cairo test. (#394855,
        Josselin Mouette)



svn path=/branches/gtk-2-10/; revision=17126
2007-01-10 04:53:13 +00:00
Peter Teichman
2a082fb952 Merge from trunk.
* gtk/gtkfilechooserdefault.c:
* gtk/gtkfilechoosersettings.c:
* gtk/gtkfilechoosersettings.h:
Save the expanded state of the folder browser with the file
chooser settings.  Resolves the expander portions of (#153828,
Lemmit Kaplinski)

svn path=/branches/gtk-2-10/; revision=17122
2007-01-08 18:36:03 +00:00
Emmanuele Bassi
a156d5382d Don't leak the icon pixbuf after setting it to the image menu item. Found
2007-01-08  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentchoosermenu.c (gtk_recent_chooser_menu_create_item):
	Don't leak the icon pixbuf after setting it to the image menu
	item.  Found by Paolo Borelli.

svn path=/branches/gtk-2-10/; revision=17120
2007-01-08 16:54:03 +00:00
Matthias Clasen
2d29a81ba1 Don't corrupt memory when faced with paths with ridiculously large
2007-01-08  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktreemodel.c (gtk_tree_path_to_string): Don't
        corrupt memory when faced with paths with ridiculously
        large indices. Found by the GTKVTS test suite.



svn path=/branches/gtk-2-10/; revision=17117
2007-01-08 15:08:47 +00:00
Matthias Clasen
41fb504bc1 Set default_display_opened before loading modules. (#393102, Brian
2007-01-08  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkmodules.c (_gtk_modules_init): Set
        default_display_opened before loading modules.  (#393102,
        Brian Cameron)
 

svn path=/branches/gtk-2-10/; revision=17115
2007-01-08 13:09:14 +00:00
Matthias Clasen
e232d48a0e Don't return "" as match. (fd.o #9544, Yevgen Muntyan)
2007-01-07  Matthias Clasen  <mclasen@redhat.com>

	* xdgmimecache.c (cache_glob_node_lookup_suffix): Don't return "" 
	as match.  (fd.o #9544, Yevgen Muntyan)


svn path=/branches/gtk-2-10/; revision=17113
2007-01-08 04:23:19 +00:00
Matthias Clasen
1dda45b32b Fix several problems with this function. (fd.o #9560, Yevgen Muntyan)
2007-01-07  Matthias Clasen  <mclasen@redhat.com>

        * xdgmimecache.c (_xdg_mime_cache_list_mime_parents): Fix
        several problems with this function.  (fd.o #9560, Yevgen Muntyan)



svn path=/branches/gtk-2-10/; revision=17111
2007-01-08 03:41:23 +00:00
Matthias Clasen
3dadbc2b53 Correct the include for GdkPixdata. (#394000, Samuel Cormier-Iijima)
2007-01-07  Matthias Clasen  <mclasen@redhat.com>

        * gdk-pixbuf/gdk-pixbuf-sections.txt: Correct the include
        for GdkPixdata.  (#394000, Samuel Cormier-Iijima)



svn path=/branches/gtk-2-10/; revision=17109
2007-01-07 20:06:36 +00:00
Amanpreet Singh Alam
b6f03ebf58 updatingfor bug 355790 by alam
svn path=/branches/gtk-2-10/; revision=17106
2007-01-07 15:58:10 +00:00
Guntupalli Karunakar
3981c32c50 Removed junk lines in header
svn path=/branches/gtk-2-10/; revision=17105
2007-01-07 13:22:37 +00:00
Matthias Clasen
14c5ed07c0 Call text_window_realize() with the correct parameters. (#393813, Yevgen
2007-01-07  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktextview.c (gtk_text_view_set_border_window_size):
        Call text_window_realize() with the correct parameters.
        (#393813, Yevgen Muntyan)



svn path=/branches/gtk-2-10/; revision=17102
2007-01-07 07:21:02 +00:00
Matthias Clasen
6185460f07 Left-align menu labels. (#393255, Michail Crayson)
2007-01-05  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_set_menu_label_text): Left-align
        menu labels.  (#393255, Michail Crayson)



svn path=/branches/gtk-2-10/; revision=17097
2007-01-06 03:13:28 +00:00
Tor Lillqvist
9c052181ad New file. Downloaded from freedesktop.org's webcvs. Slighly edited cursors
2007-01-06  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/cursor.bdf: New file. Downloaded from
	freedesktop.org's webcvs. Slighly edited cursors "crosshair",
	"diamond_cross", "draft_large", "gobbler" and "target" to fix
	#392504. It is possible that the same end result could have been
	achieved by tweaking bdfcursor.c instead.
	
	* gdk/win32/bdfcursor.c: Add optional debugging output.

	* gdk/win32/xcursors.h: Regenerated.


svn path=/branches/gtk-2-10/; revision=17094
2007-01-06 03:01:09 +00:00
Kristian Rietveld
a2dcca137d Merge from HEAD.
2007-01-05  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD.

	* gtk/gtktreeview.c (gtk_tree_view_row_changed): do allow to
	invalidate nodes if the tree view is not realized. (#363147,
	Carlos Garnacho, Miguel Cabrera).


svn path=/branches/gtk-2-10/; revision=17090
2007-01-05 21:37:41 +00:00
Matthias Clasen
bc938df68d Bump version
svn path=/branches/gtk-2-10/; revision=17088
2007-01-05 20:51:34 +00:00
Matthias Clasen
eb5e19ee6e 2.10.7
svn path=/branches/gtk-2-10/; revision=17086
2007-01-05 20:46:07 +00:00
Matthias Clasen
6dfbc8d8a8 Take the scroll arrow into account when drawing the background. (#393166,
2007-01-05  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkmenu.c (gtk_menu_paint): Take the scroll arrow into
        account when drawing the background.  (#393166, Benjamin Berg)



svn path=/branches/gtk-2-10/; revision=17085
2007-01-05 18:25:56 +00:00
Behdad Esfahbod
a67a600ef0 Fix broken width computation, again.
2007-01-05  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/gtklabel.c (get_layout_location): Fix broken width computation, 
        again.


svn path=/branches/gtk-2-10/; revision=17082
2007-01-05 18:01:52 +00:00
Carlos Garnacho
d36f24694e take into account both scroll arrows when calculating size request in
2007-01-05  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c (gtk_notebook_size_request): take into account
        both scroll arrows when calculating size request in GTK_POS_LEFT or
        GTK_POS_RIGHT notebooks. (#393124, reported by Christian Persch)


svn path=/branches/gtk-2-10/; revision=17081
2007-01-05 17:31:12 +00:00
Michael Natterer
01ec5c12f4 Merged from HEAD:
2007-01-05  Michael Natterer  <mitch@imendio.com>

	Merged from HEAD:

	* gtk/gtkwindow.c (gtk_window_key_release_event): chain up to
	the right function (fix taken from maemo-gtk).


svn path=/branches/gtk-2-10/; revision=17079
2007-01-05 14:09:00 +00:00
Behdad Esfahbod
454a02e23c Avoid overflow when converting coordinates to Pango units. (#332266, Jody
2007-01-05  Behdad Esfahbod  <behdad@gnome.org>

        * gdk/gdkprivate.h:
        * gdk/gdkpango.c (gdk_draw_layout_line_with_colors),
        (gdk_draw_layout_with_colors):
        * gdk/gdkwindow.c (gdk_window_draw_glyphs_transformed):
        Avoid overflow when converting coordinates to Pango units. (#332266,
        Jody Goldberg)


svn path=/branches/gtk-2-10/; revision=17076
2007-01-05 06:28:00 +00:00
Matthias Clasen
33392c7cea move set_cursor after realization of the popup window, so clamp node
2007-01-04  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcombobox.c (gtk_combo_box_popup): move set_cursor
        after realization of the popup window, so clamp node doesn't fail.
        (#346616, Tommi Komulainen, patch by Kristian Rietveld).



svn path=/branches/gtk-2-10/; revision=17074
2007-01-05 05:42:54 +00:00
Gustavo Noronha Silva
c4fc34bcac Translation updated by Leonardo Ferreira Fontenelle
bug #357134

svn path=/branches/gtk-2-10/; revision=17072
2007-01-04 21:33:26 +00:00
Behdad Esfahbod
9991283b01 Fix uninitialized width variable.
2007-01-04  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/gtklabel.c (get_layout_location): Fix uninitialized width
        variable.


svn path=/branches/gtk-2-10/; revision=17070
2007-01-04 16:26:42 +00:00
Matthias Clasen
163af5fdd8 Cross-compilation fixes. (#392646, Yevgen Muntyan)
2007-01-04  Matthias Clasen  <mclasen@redhat.com>

        * gtk/Makefile.am:
        * gdk-pixbuf/Makefile.am:
        * configure.in:
        * gdk/win32/rc/gdk.rc.in: Cross-compilation fixes.
        (#392646, Yevgen Muntyan)



svn path=/branches/gtk-2-10/; revision=17068
2007-01-04 15:08:54 +00:00
Matthias Clasen
07ed18bf49 Fix some compiler warnings.
2007-01-04  Matthias Clasen  <mclasen@redhat.com>

        * demos/gtk-demo/textscroll.c:
        * gtk/gtkiconview.c:
        * gtk/gtkicontheme.c:
        * gtk/gtkhandlebox.c:
        * gtk/gtkfilechooserentry.c:
        * gtk/gtkentrycompletion.c:
        * gtk/gtkcolorsel.c: Fix some compiler warnings.



svn path=/branches/gtk-2-10/; revision=17064
2007-01-04 14:48:03 +00:00
Matthias Clasen
50cccdc0b8 Fix a compiler warning
svn path=/branches/gtk-2-10/; revision=17060
2007-01-04 14:16:49 +00:00
Clytie Siddall
44a6f7a773 vi.po: Updated Vietnamese translation.
svn path=/branches/gtk-2-10/; revision=17059
2007-01-04 12:02:03 +00:00
Clytie Siddall
4da9a3541c vi.po: Updated Vietnamese translation.
svn path=/branches/gtk-2-10/; revision=17058
2007-01-04 12:01:26 +00:00
Clytie Siddall
6487005fd5 Updated Vietnamese translation.
2007-01-04  Clytie Siddall <clytie@riverland.net.au>

	* vi.po: Updated Vietnamese translation.



svn path=/branches/gtk-2-10/; revision=17057
2007-01-04 11:48:46 +00:00
Clytie Siddall
1a0630d654 Updated Vietnamese translation.
2007-01-04  Clytie Siddall <clytie@riverland.net.au>

	* vi.po: Updated Vietnamese translation.


svn path=/branches/gtk-2-10/; revision=17056
2007-01-04 11:48:29 +00:00
Matthias Clasen
9c777969a0 Updates
svn path=/branches/gtk-2-10/; revision=17055
2007-01-04 06:21:39 +00:00
Matthias Clasen
b34b9470a4 Fix #332604, reported by Joe Wreschnig, patch by Jan Arne Petersen and
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        Fix #332604, reported by Joe Wreschnig, patch
        by Jan Arne Petersen and Behdad Esfahbod.

        * gtk/gtklabel.c (gtk_label_size_allocate): Only
        set the width of the layout when necessary.
        (get_layout_location): Use pango_layout_get_pixel_extents()
        instead of pango_layout_get_width().



svn path=/branches/gtk-2-10/; revision=17053
2007-01-04 05:59:31 +00:00
Matthias Clasen
33b805ba1d Fix another memleak
svn path=/branches/gtk-2-10/; revision=17051
2007-01-04 05:10:14 +00:00
Matthias Clasen
dd983a4f17 Fix another leak
svn path=/branches/gtk-2-10/; revision=17049
2007-01-04 04:50:56 +00:00
Matthias Clasen
100e652711 Exit early if we can't get file info - this happens if the iter points to
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserdefault.c (update_chooser_entry):
        Exit early if we can't get file info - this happens
        if the iter points to the row where we are editing
        the name for a newly created folder.  (#392191, Michael
        Partridge, patch by Kristian Rietveld)



svn path=/branches/gtk-2-10/; revision=17047
2007-01-04 01:46:22 +00:00
Matthias Clasen
61fa8ee0c7 Apply a patch by Chris Wilson to avoid spurious valgrind warnings from
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/*.c:
        * gdk/x11/*.c: Apply a patch by Chris Wilson to
        avoid spurious valgrind warnings from XSendEvent()
        calls.  (#392532)



svn path=/branches/gtk-2-10/; revision=17045
2007-01-04 01:30:07 +00:00
Matthias Clasen
19bf71f064 Close the http connection after getting the PPD.
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkprintbackendcups.c: Close
        the http connection after getting the PPD.

 

svn path=/branches/gtk-2-10/; revision=17043
2007-01-04 00:13:19 +00:00
Djihed Afifi
4a2ef11414 Updated Arabic Translation.
svn path=/branches/gtk-2-10/; revision=17041
2007-01-03 22:01:52 +00:00
Matthias Clasen
5520c08fb3 Fix memory leaks.
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprinteroptionwidget.c (filesave_changed_cb):
        Fix memory leaks.


svn path=/branches/gtk-2-10/; revision=17040
2007-01-03 21:25:09 +00:00
Matthias Clasen
b8b207d7d1 If the current page is removed, always pick a different one. (#392457,
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkassistant.c (remove_page): If the current page
        is removed, always pick a different one.  (#392457,
        Colin Watson)



svn path=/branches/gtk-2-10/; revision=17038
2007-01-03 20:52:11 +00:00
Kristian Rietveld
b5796a17f5 Merged from HEAD.
2007-01-03  Kristian Rietveld  <kris@gtk.org>

	Merged from HEAD.

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_focus_out_event):
	cancel editing (ie. don't accept changes) when the entry loses
	focus. (Fixes #164494, reported by Chris Rouch).


svn path=/branches/gtk-2-10/; revision=17035
2007-01-03 19:33:57 +00:00
Matthias Clasen
989b254636 Export SED to make sourcing of libtool work. Tighten up the directfb
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Export SED to make sourcing of
        libtool work. Tighten up the directfb pkgconfig check.



svn path=/branches/gtk-2-10/; revision=17034
2007-01-03 17:57:31 +00:00
Matthias Clasen
69d0f944a3 Work when the entry is not realized. (#392315, Yevgen Muntyan)
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c (get_text_area_size): Work when the
        entry is not realized.  (#392315, Yevgen Muntyan)

        * gtk/gtkentry.c (gtk_entry_queue_draw): Use
        GTK_WIDGET_DRAWABLE() here.  (#392227, Chris Wilson)

        * gtk/gtkentry.c (cursor_blinks): Don't get settings
        unnecessarily.  (#392227)



svn path=/branches/gtk-2-10/; revision=17031
2007-01-03 16:17:03 +00:00
Matthias Clasen
aca50fd386 Only process updates on the window at hand, not on all windows, to avoid
2007-01-02  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkwindow.c (gtk_window_move_resize): Only process
        updates on the window at hand, not on all windows, to
        avoid violating resize/redraw ordering constraints.
        (#362406, Owen Taylor)
 

svn path=/branches/gtk-2-10/; revision=17029
2007-01-03 02:45:35 +00:00
Matthias Clasen
1b1d17dcfa Updates
svn path=/branches/gtk-2-10/; revision=17025
2007-01-02 23:00:20 +00:00
Matthias Clasen
c098a03e31 Try to fix #315732, reported by Luke Hutchinson:
2007-01-02  Matthias Clasen  <mclasen@redhat.com>

        Try to fix #315732, reported by Luke Hutchinson:

        * gdk/x11/xsettings-client.[hc]:
        * gdk/x11/gdkdevents-x11.c: Don't assume that ref'ing a GdkWindow
        will guarantee that it can be looked up in the xid hash later.
        Also, use the nesting server grab function during the xsettings
        client initialization. Finally, make xsettings client not
        eat DestroyNotifys so that GDK can do its regular cleanup.



svn path=/branches/gtk-2-10/; revision=17023
2007-01-02 19:25:33 +00:00
Tor Lillqvist
25ba11ac50 Fix typo.
2007-01-02  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkrecentchoosermenu.c (gtk_recent_chooser_menu_dispose):
	Fix typo.


svn path=/branches/gtk-2-10/; revision=17019
2007-01-02 15:23:37 +00:00
Matthias Clasen
3bd8ce6e16 Center in the frame. (#304482, Rob Staudinger, patch by Richard
2007-01-02  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c (get_text_area_size): Center in the frame.
        (#304482, Rob Staudinger, patch by  Richard Stellingwerff)



svn path=/branches/gtk-2-10/; revision=17016
2007-01-02 14:26:07 +00:00
Matthias Clasen
449593fe6b Only handle key bindings for scrolling if the scrollbars are visible.
2007-01-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkscrolledwindow.h:
        * gtk/gtkscrolledwindow.c: Only handle key bindings
        for scrolling if the scrollbars are visible.
        (#340135, Christian Persch)



svn path=/branches/gtk-2-10/; revision=17013
2007-01-02 07:12:40 +00:00
Matthias Clasen
1bd0239ef6 Remove forgotten debug spew
svn path=/branches/gtk-2-10/; revision=17010
2007-01-02 06:46:27 +00:00
Matthias Clasen
d2d46af26a Only handle key bindings for tab reordering if the tabs are shown and
2007-01-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.h:
        * gtk/gtknotebook.c: Only handle key bindings for
        tab reordering if the tabs are shown and reorderable.
        (#390468, Yevgen Muntyan)

        * gtk/gtkmarshalers.list: Add required marshaler



svn path=/branches/gtk-2-10/; revision=17009
2007-01-02 06:24:26 +00:00
Matthias Clasen
3fc2ebe388 Waste less time with non-directories. (#391725, Chris Wilson)
2007-01-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkicontheme.c (load_themes): Waste less time
        with non-directories.  (#391725, Chris Wilson)



svn path=/branches/gtk-2-10/; revision=17006
2007-01-02 04:31:41 +00:00
Matthias Clasen
c10ada4a26 Fix some IPP compliance issues. (#391523, Albrecht Dress)
2007-01-01  Matthias Clasen  <mclasen@redhat.com>

        Fix some IPP compliance issues.  (#391523, Albrecht Dress)

        * modules/printbackends/cups/gtkcupsutils.c
        (gtk_cups_request_encode_option): Use IPP_TAG_JOB, not
        IPP_TAG_OPERATION.
        * modules/printbackends/cups/gtkprintbackendcups.c
        (gtk_print_backend_cups_print_stream): Don't add the
        requesting-user-name attribute a second time.



svn path=/branches/gtk-2-10/; revision=17003
2007-01-01 23:57:03 +00:00
Matthias Clasen
7f8f32df71 Fix en/em dash confusion. (#378462)
2007-01-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkimcontextsimple.c: Fix en/em dash confusion.  (#378462)



svn path=/branches/gtk-2-10/; revision=17001
2007-01-01 05:42:24 +00:00
Emmanuele Bassi
908b773c12 Move the signal and idle disconnections into the dispose function, as well
2006-12-31  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentchoosermenu.c: Move the signal and idle
	disconnections into the dispose function, as well as
	the object unrefs; reset every handler id and the
	pointers. (suggested by Paolo Borelli, #390873)

	(set_recent_manager): Use the right object when disconnecting
	from the GtkRecentManager::changed signal; save us a few
	indirections.

svn path=/branches/gtk-2-10/; revision=16998
2006-12-31 16:49:35 +00:00
Matthias Clasen
d657db200d Include windows.h (#391229, Kazuki Iwamoto)
2006-12-31  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation-win32.c: Include windows.h (#391229,
        Kazuki Iwamoto)



svn path=/branches/gtk-2-10/; revision=16996
2006-12-31 15:51:44 +00:00
Matthias Clasen
b423e964ea Remove the scroll timeout. (#390872, Yevgen Muntyan)
2006-12-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktextview.c (gtk_text_view_destroy): Remove the
        scroll timeout.  (#390872, Yevgen Muntyan)



svn path=/branches/gtk-2-10/; revision=16994
2006-12-31 06:02:34 +00:00
Matthias Clasen
69ee164fee Redraw assistant on reallocate to avoid rendering glitches. (#343956,
2006-12-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkassistant.c: Redraw assistant on reallocate
        to avoid rendering glitches.  (#343956, Christian
        Persch, Carlos Garnacho)



svn path=/branches/gtk-2-10/; revision=16991
2006-12-31 05:22:46 +00:00
Matthias Clasen
1936dc99a7 Correctly handle min size. (#320465, Philipp Langdale)
2006-12-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkwindow.c (gtk_window_compute_configure_request_size):
        Correctly handle min size. (#320465, Philipp Langdale)



svn path=/branches/gtk-2-10/; revision=16987
2006-12-31 01:39:53 +00:00
Matthias Clasen
9ae01e7f7d Don't install cursors on insensitive widgets. (#358864, Jan Schampera)
2006-12-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c:
        * gtk/gtklabel.c:
        * gtk/gtkpaned.c:
        * gtk/gtkstatusbar.c:
        * gtk/gtktextview.c: Don't install cursors on insensitive
        widgets.  (#358864, Jan Schampera)

svn path=/branches/gtk-2-10/; revision=16984
2006-12-31 00:46:35 +00:00
Matthias Clasen
fa8e83c42c Don't die in an assertion if focus went missing. Just warn, clean up and
2006-12-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c (blink_cb):
        * gtk/gtktextview.c (blink_cb): Don't die in an assertion
        if focus went missing. Just warn, clean up and continue.
        (#374378)
2006-12-29 19:21:36 +00:00
Carlos Garnacho
4b9fdf8fcf return if the widget that originally received the event is a notebook
2006-12-29  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c (gtk_notebook_scroll): return if the widget that
        originally received the event is a notebook page. (#315440, reported
        by Mateusz Stefek)
2006-12-29 19:12:51 +00:00
David Lodge
f5249206c5 Updated English (British) translation
2006-12-29  David Lodge <dave@cirt.net>

	* en_GB.po: Updated English (British) translation
2006-12-29 07:04:44 +00:00
Matthias Clasen
e72dd2d625 Only use the results of find_menu/toolbar_position() if they succeed. May
2006-12-28  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkuimanager.c (update_node): Only use the results
        of find_menu/toolbar_position() if they succeed. May fix
        bug #388041.
2006-12-28 21:17:22 +00:00
Tor Lillqvist
44db12e7ca Don't leak HICONs on Win32. (#364868, Hiroyuki Yamamoto)
2006-12-28  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkstatusicon.c (gtk_status_icon_finalize)
	(gtk_status_icon_update_image): Don't leak HICONs on
	Win32. (#364868, Hiroyuki Yamamoto)
2006-12-28 16:35:01 +00:00
Matthias Clasen
6d2ffa0435 Close the io channel on unref. (#390159, Joe Markus Clarke)
2006-12-27  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/lpr/gtkprintbackendlpr.c
        (gtk_print_backend_lpr_print_stream): Close the io channel
        on unref.  (#390159, Joe Markus Clarke)
2006-12-28 04:24:30 +00:00
Tor Lillqvist
db65dc6f84 Implement gtk_status_icon_position_menu() on Windows. Keep track of where
2006-12-27  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkstatusicon.c: Implement gtk_status_icon_position_menu()
	on Windows. Keep track of where the last button click on the
	taskbar icon took place, and return that. Obviously not correct if
	no button has ever been clicked on the icon, or if the geometry of
	the taskbar has changed since. But for most use cases where a menu
	is going to be displayed as a direct result of a button click on
	the status icon, works fine. (#377349)
2006-12-27 15:58:42 +00:00
Matthias Clasen
3f41594aef Accept NULL.
2006-12-27  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcellview.c (gtk_cell_view_set_model): Accept NULL.

        * gtk/gtkcombobox.c (gtk_combo_box_set_model):
        (gtk_combo_box_unset_model): Handle repeated unsetting
        of models without warnings.  (#367529, Robert Ancell)
2006-12-27 07:14:39 +00:00
Matthias Clasen
42d669dced Use getters for http fields where available. (#364866, Björn Lindqvist)
2006-12-27  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkcupsutils.c:
        * modules/printbackends/cups/gtkprintbackendcups.c: Use
        getters for http fields where available.  (#364866,
        Björn Lindqvist)
2006-12-27 06:52:05 +00:00
Matthias Clasen
a040aa76b8 Add a g_return_if_fail. (#362614, Xan Lopez)
2006-12-27  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkwidget.c (gtk_widget_show): Add a g_return_if_fail.
        (#362614, Xan Lopez)
2006-12-27 06:44:09 +00:00
Matthias Clasen
c8f7fb02e4 If a required action is missing, don't recurse over the children.
2006-12-27  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkuimanager.c (update_node): If a required action
        is missing, don't recurse over the children.  (#349119,
        Chris Moller)
2006-12-27 06:36:06 +00:00
Matthias Clasen
17e04c2d90 Fix a few problems with nested menus in comboboxes (#386694, Yevgen
2006-12-17  Matthias Clasen  <mclasen@redhat.com>

        Fix a few problems with nested menus in comboboxes
        (#386694, Yevgen Muntyan)

        * gtk/gtkcombobox.c (gtk_combo_box_menu_fill_level): Always
        connect the activate callback.
        (gtk_combo_box_menu_item_activate): Do nothing if called on
        an item with a submenu.
        (gtk_combo_box_menu_row_deleted): Remove a submenu when it
        is empty.
2006-12-27 06:04:11 +00:00
Kristian Rietveld
53567b754e Merged from HEAD.
2006-12-26  Kristian Rietveld  <kris@gtk.org>

	Merged from HEAD.

	* gtk/gtktreeview.c (gtk_tree_view_search_init): fix typo causing
	the search dialog timeout never to be refreshed. (#389581,
	Andrzej Szombierski).
2006-12-26 18:18:35 +00:00
Christian Persch
811bb06548 Return the correct value from gtk_notebook_insert_page if the page-added
2006-12-26  Christian Persch  <chpe@cvs.gnome.org>

	* gtk/gtknotebook.c: (gtk_notebook_real_insert_page):
	Return the correct value from gtk_notebook_insert_page if the
	page-added handler reorders the tabs. Bug #345094.
2006-12-26 14:59:28 +00:00
Carlos Garnacho
2861291a26 Fix small regressions in GtkNotebook tab detaching. Bug #378852.
2006-12-26  Carlos Garnacho  <carlosg@gnome.org>

        Fix small regressions in GtkNotebook tab detaching. Bug #378852.

        * gtk/gtknotebook.c (gtk_notebook_do_arrow): grab focus to allow tabs
        scrolling when hovering with a detached tab.
        (gtk_notebook_stop_reorder): Do not deparent the wrong tab if the
        focus tab has changed during a tab DND operation.
        (gtk_notebook_drag_end): ensure that the dropped tab gets focused.
        (gtk_notebook_paint): do not take cur_page as a reference to paint the
        box if it's detached.
        (gtk_notebook_calculate_tabs_allocation): focus_tab may be different
        to the detached tab if we hover the arrows during a tabs detaching
        operation, do not allocate it unconditionally in 0,0.
2006-12-26 11:04:05 +00:00
Carlos Garnacho
e7d602a2a8 Expose improvements for GtkNotebook. Bug #383435
2006-12-26  Carlos Garnacho  <carlosg@gnome.org>

        Expose improvements for GtkNotebook. Bug #383435

        * gtk/gtknotebook.c (gtk_notebook_expose): propagate the event to tab
        labels.
        (gtk_notebook_draw_focus): do not repaint the whole focused tab again.
        (gtk_notebook_draw_tab): do not send handmade expose events to tab
        labels.
2006-12-26 10:33:27 +00:00
Matthias Clasen
316ff42f25 Avoid spurious redraws.
2006-12-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkrange.c (stop_scrolling): Avoid spurious
        redraws.
2006-12-26 06:50:27 +00:00
Christian Persch
bcccfb13b6 Fix mem leaks. Bug #389194.
2006-12-25  Christian Persch  <chpe@cvs.gnome.org>

	* gtk/gtkpagesetupunixdialog.c: (printer_status_cb),
	(add_custom_paper): Fix mem leaks. Bug #389194.
2006-12-25 12:03:25 +00:00
Guntupalli Karunakar
3d3dcfb761 Fix translation bug #389296 2006-12-25 05:02:21 +00:00
Matthias Clasen
46394d0631 Improve the DND scrolling behaviour. (#92387, Carlos Garnacho Parro)
2006-12-24  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktextview.c: Improve the DND scrolling
        behaviour.  (#92387, Carlos Garnacho Parro)
2006-12-25 02:54:07 +00:00
Djihed Afifi
db4f2f6080 Updated Arabic Translation. 2006-12-24 17:59:18 +00:00
Bastien Nocera
6b7b50e6e0 Fix typo (s/expansive/expensive) (#389183)
2006-12-24  Bastien Nocera  <hadess@hadess.net>

        * gtk/gtkrecentmanager.c: Fix typo (s/expansive/expensive)
	(#389183)
2006-12-24 15:57:51 +00:00
Carlos Garcia Campos
5e1f733d75 Don't ignore reverse portrait option when is selected in page setup
2006-12-24  Carlos Garcia Campos  <carlosgc@gnome.org>
	* gtk/gtkpagesetupunixdialog.c: Don't ignore reverse portrait option
	when is selected in page setup dialog. Fixes bug #365047.
2006-12-24 11:29:54 +00:00
Matthias Clasen
198d225950 When shift-clicking, keep the larger part of the selection selected.
2006-12-24  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c (gtk_entry_button_press): When
        shift-clicking, keep the larger part of the selection
        selected.  (#353709, Benjamin Otte)
2006-12-24 06:33:36 +00:00
Matthias Clasen
a12c1d3e1f Be more careful when faking a button release. (#323146, Travis Abbott)
2006-12-24  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkbutton.c (gtk_button_grab_notify): Be more
        careful when faking a button release.  (#323146,
        Travis Abbott)
2006-12-24 06:04:32 +00:00
Matthias Clasen
a98ecdfb4c Draw the handle with the right orientation, depending on the position of
2006-12-24  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkhandlebox.c (draw_textured_frame): Draw the
        handle with the right orientation, depending on the
        position of the handlebox.  (#159764, Benjamin Berg)
2006-12-24 05:36:29 +00:00
Matthias Clasen
f58038c88f Emit changed and notify:text only once. The same fix was applied for
2006-12-24  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c (gtk_entry_set_text): Emit changed
        and notify:text only once. The same fix was applied
        for replacing the selection via DND or copy-and-paste.
        (#64998, Damon Chaplin, Sven Herzberg)
2006-12-24 05:15:48 +00:00
Matthias Clasen
078dcb6fe1 Be careful to not override GTK+ translations with the translations of the
2006-12-23  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkimmulticontext.c: Be careful to not override
        GTK+ translations with the translations of the input
        method.  (#317080, Tor Lillqvist)
2006-12-23 21:23:58 +00:00
Matthias Clasen
113e639550 Allow composing l with stroke. (#349638, Daniel Lublin)
* gtk/gtkimcontextsimple.c: Allow composing l with
        stroke.  (#349638, Daniel Lublin)
2006-12-23 21:09:55 +00:00
Matthias Clasen
6b494f476b Fix a thinko in the suffix calculation. (#382369, Christian Persch)
2006-12-23  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gen-paper-names.c: Fix a thinko in the suffix
        calculation.  (#382369, Christian Persch)

        * gtk/paper_names_offsets.c: Regenerated.
2006-12-23 20:59:41 +00:00
Djihed Afifi
d2c46f9c95 Updated Arabic Translation. 2006-12-23 20:30:36 +00:00
Matthias Clasen
51d3b8dce3 Move G_GNUC_INTERNAL before function declarations. (#352276, Damien
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * modules/engines/pixbuf/pixbuf.h:
        * modules/engines/pixbuf/pixbuf-rc-style.h:
        * modules/engines/pixbuf/pixbuf-style.h: Move
        G_GNUC_INTERNAL before function declarations.  (#352276,
        Damien Carbery)
2006-12-23 03:36:38 +00:00
Matthias Clasen
38056de0ae Fix some leaks. (#348108, Chris Wilson)
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * demos/gtk-demo/*.c: Fix some leaks.  (#348108, Chris
        Wilson)
2006-12-22 22:09:26 +00:00
Matthias Clasen
be9aef056c Check for getc_unlocked.
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Check for getc_unlocked.

        * gtk/xdgmime/xdgmimemagic.c: Use getc if getc_unlocked is
        unavailable.   (#381499)
2006-12-22 16:19:54 +00:00
Djihed Afifi
a281fbb398 Updated Arabic Translation. Translation by Ahmad Farghal and Khaled Hosny 2006-12-22 09:54:19 +00:00
Matthias Clasen
d13987b8f6 Don't leak draw_border. (#387170, Kjartan Maraas)
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkwidget.c (gtk_widget_get_draw_rectangle): Don't
        leak draw_border.  (#387170, Kjartan Maraas)
2006-12-22 06:28:13 +00:00
Matthias Clasen
fc478c3bd8 Handle bmps with more than 8 bits per channel. (#172584, David Costanzo)
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * io-bmp.c (decode_bitmasks): Handle bmps
        with more than 8 bits per channel.  (#172584,
        David Costanzo)
2006-12-22 06:16:55 +00:00
Matthias Clasen
916cc01caa Handle offsets more carefully. (#172188, David Costanzo)
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * io-bmp.c: Handle offsets more carefully. (#172188,
        David Costanzo)

        * io-bmp.c: Handle v5 and OS/2 v2 bmps.

        * io-bmp.c: Handle alpha masks in v4 and v5 bmps.
2006-12-22 06:00:17 +00:00
Matthias Clasen
660b45b988 Emit the closed signal when closing the loader, pointed out by David
2006-12-21  Matthias Clasen  <mclasen@redhat.com>

        * gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Emit
        the closed signal when closing the loader, pointed out
        by David Nečas.
2006-12-22 03:11:30 +00:00
Matthias Clasen
6a3479037a Handle invalid gif animations a little bit more robustly. (#357974,
2006-12-21  Matthias Clasen  <mclasen@redhat.com>

        * io-gif.c (gif_get_lzw): Handle invalid gif animations
        a little bit more robustly.  (#357974, Vassilis Pandis,
        patch by Felix Riemann)
2006-12-21 23:10:51 +00:00
Matthias Clasen
f135f99ce0 Remove redundant size checks, and document that width, height must be > 0.
2006-12-21  Matthias Clasen  <mclasen@redhat.com>

        * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data):
        * gdk-pixbuf.c (gdk_pixbuf_new): Remove redundant size
        checks, and document that width, height must be > 0.
2006-12-21 20:37:44 +00:00
Matthias Clasen
67baa8188b Link against GLib. (#341158, Alexey Rusakov)
2006-12-21  Matthias Clasen  <mclasen@redhat.com>

        * Makefile.am: Link against GLib.  (#341158, Alexey Rusakov)
2006-12-21 16:59:21 +00:00
Matthias Clasen
fce09ac1be Typo fix. (#388123, Murray Cumming)
2006-12-21  Matthias Clasen  <mclasen@redhat.com>

         * gtk/gtkfilechooserembed.c (_gtk_file_chooser_embed_set_delegate()):
        Typo fix.  (#388123, Murray Cumming)
2006-12-21 16:49:43 +00:00
Matthias Clasen
e23b9104be Generate double-click events. (#380421, Tommi Komulainen)
* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event):
        Generate double-click events.  (#380421, Tommi Komulainen)
2006-12-21 16:32:44 +00:00
Matthias Clasen
f4c0231b44 Correct return_if_fail checks. (#379803, Tommi Komulainen)
* gdk/x1/gdkinput-xfree.c (_gdk_input_configure_event):
        (_gdk_input_enter_event): Correct return_if_fail checks.
        (#379803, Tommi Komulainen)
2006-12-21 16:27:37 +00:00
Matthias Clasen
07634150a8 Improve docs. (#353438, Mariano Suárez-Alvarez)
* gdk/gdkdisplay.c (gdk_display_beep): Improve docs.
        (#353438, Mariano Suárez-Alvarez)
2006-12-21 16:18:56 +00:00
Matthias Clasen
507f1c5620 Add signal documentation. (#317064, Søren Wedel Nielsen)
2006-12-20  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktextbuffer.c: Add signal documentation.  (#317064,
        Søren Wedel Nielsen)
2006-12-20 21:17:51 +00:00
Matthias Clasen
a2f2335b3c Silently return if a drag is already in progress, rather than asserting.
2006-12-20  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktextview.c (gtk_text_view_start_selection_drag):
        Silently return if a drag is already in progress, rather
        than asserting.  (#335622, Li Yuan, testcase by Erwann Chenede)
2006-12-20 20:55:37 +00:00
Matthias Clasen
754063e465 Allow any GtkDialog that implements GtkFileChooser as dialog. (#335473,
2006-12-20  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new_with_dialog):
        Allow any GtkDialog that implements GtkFileChooser as
        dialog.  (#335473, Tommi Komulainen)
2006-12-20 19:02:50 +00:00
Felix I
7f98725ec8 Gnome gtk+ file corrected and updated 2006-12-20 10:19:16 +00:00
Matthias Clasen
466d95138d Add a tooltip explaining the format of page ranges, and improve the page
2006-12-19  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintunixdialog.c: Add a tooltip explaining the
        format of page ranges, and improve the page sequence icon
        for the case of n_copies == 1.
2006-12-20 05:11:10 +00:00
Matthias Clasen
67b34c7a59 silence gdk_pixbuf_loader_close 2006-12-19 20:43:09 +00:00
Alessio Frusciante
5ba73b21ae Updated Italian translation. 2006-12-19 07:06:51 +00:00
Josep Puigdemont i Casamajó
5e4035595f Updated Catalan translation. 2006-12-19 06:40:26 +00:00
Amitakhya Phukan
eaf86d78bb updated assamese translation 2006-12-18 06:16:01 +00:00
Adam Weinberger
3089bf69e5 Updated Canadian English translation.
2006-12-17  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2006-12-17 19:39:40 +00:00
Gabor Kelemen
8fb2838e19 Translation updated.
2006-12-17  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated.
2006-12-17 13:26:14 +00:00
Tristan Van Berkom
9492ce6045 Fixed a bug in set_property() (setting "window-placement-set" could result
* gtk/gtkscrolledwindow.c: Fixed a bug in set_property()
	(setting "window-placement-set" could result in a crash because
	of boolean/enum mixup)
2006-12-16 20:38:10 +00:00
Djihed Afifi
f7a47e6f96 Updated Arabic Translation. 2006-12-15 20:59:34 +00:00
Federico Mena Quintero
741f8d21dc Don't try to optimize for the case where the new title is the same as the
2006-12-15  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkmenu.c (gtk_menu_set_title): Don't try to optimize for
	the case where the new title is the same as the old title, to
	preserve the behavior from GTK+ 2.8 (NULL and "" titles are not
	equivalent).  Handle the case where title == priv->title.  This
	was found by the LSB compatibility tests:
	https://bugzilla.novell.com/show_bug.cgi?id=223882

2006-12-14  Ankit Patel  <ankit644@yahoo.com>
2006-12-15 20:09:13 +00:00
Gabor Kelemen
7f92b2662f Translation updated.
2006-12-15  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated.
2006-12-15 16:11:32 +00:00
Francisco Javier F. Serrador
fb9ae62626 Updated Spanish translation.
2006-12-15  Francisco Javier F. Serrador  <serrador@openshine.com>

	* es/es.po: Updated Spanish translation.
2006-12-14 23:19:56 +00:00
Kjartan Maraas
fc1fbaeb42 Add stub since this is missing and breaking the build 2006-12-14 14:16:55 +00:00
Ankitkumar Rameshchandra Patel
63d7cd1ae9 Added sinhala translation on behalf of Tyronne 2006-12-14 13:43:44 +00:00
Carlos Garnacho
e982a87be8 draw arrows pointing to the right correctly placed inside their GdkWindow.
2006-12-14  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtkcalendar.c: draw arrows pointing to the right correctly
        placed inside their GdkWindow. Bug #385672.
2006-12-14 13:16:47 +00:00
Rahul Bhalerao
a833049e4a Updated Marathi Translation 2006-12-14 06:29:24 +00:00
Subhransu Behera
c7cf2e7f66 Updated Oriya Translation 2006-12-14 06:22:02 +00:00
Amitakhya Phukan
99c5433698 added assamese translation 2006-12-14 06:07:17 +00:00
Dom Lachowicz
c75bf4a1d7 Bug 351679 - Notebooks drawn with extra line below tab in MS-Windows
2006-12-13  Dom Lachowicz <domlachowicz@gmail.com>

	* src/modules/engines/ms-windows/msw_style.c: Bug 351679 - Notebooks
	drawn with extra line below tab in MS-Windows theme. Patch by
	Cody Russell
2006-12-14 02:09:12 +00:00
Rahul Bhalerao
08afc3b312 Updated Marathi Translation 2006-12-13 16:27:42 +00:00
Subhransu Behera
00c3b45902 Updated Oriya Translation 2006-12-13 14:25:03 +00:00
Amanpreet Singh Alam
e3fc745939 update translation for Punjabi (Gurmukhi) by apbrar gmail com 2006-12-13 07:50:34 +00:00
Runa Bhattacharjee
54622f65fe Added Entry for Bengali India Translation Updation 2006-12-13 04:05:16 +00:00
Runa Bhattacharjee
705b81f415 Updated Bengali India Translation 2006-12-13 04:04:52 +00:00
Rajesh Ranjan
a158f66670 Updated Translation 2006-12-12 11:34:29 +00:00
Jovan Naumovski
294f794445 2006-12-12 Jovan Naumovski <jovanna@cvs.gnome.org> *mk.po: Updated Macedonian translation 2006-12-12 11:08:03 +00:00
Daniel Nylander
1239da0ac0 Updated Swedish translation.
2006-12-12  Daniel Nylander <po@danielnylander.se>

	* sv.po: Updated Swedish translation.
2006-12-12 08:07:32 +00:00
Runa Bhattacharjee
6941c09946 Added Entry for Bengali India Translation Updation 2006-12-12 07:46:25 +00:00
Runa Bhattacharjee
0c8b37f9af Updated Bengali India Translation 2006-12-12 07:46:08 +00:00
Ankitkumar Rameshchandra Patel
b6fc39dcbd Updated Gujarati Translations 2006-12-12 07:33:39 +00:00
Rajesh Ranjan
7cfb9a26ce Updated Translation 2006-12-12 07:23:52 +00:00
Rajesh Ranjan
1c994d2862 Updated Translation 2006-12-12 07:23:20 +00:00
Runa Bhattacharjee
bda8b20d88 Added Entry for Bengali India Translation Updation 2006-12-12 05:26:46 +00:00
Runa Bhattacharjee
b5220ef931 Updated Bengali India Translation:12/12 2006-12-12 05:23:34 +00:00
Vincent van Adrighem
3091ba8857 Translation updated by Tino Meinen.
2006-12-05  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.
2006-12-11 19:29:04 +00:00
Matthias Clasen
769c845d95 Be more careful when overdrawing antialiased text. (#352435, Alex Jones,
2006-12-11  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprogressbar.c (gtk_progress_bar_paint_text): Be more
        careful when overdrawing antialiased text.  (#352435, Alex Jones,
        patch by Benjamin Otte)
2006-12-11 15:23:24 +00:00
Rajesh Ranjan
8f17636f84 Updated Translation 2006-12-11 12:41:37 +00:00
Rajesh Ranjan
ed6009324e Updated Translation 2006-12-11 12:41:01 +00:00
Kjartan Maraas
b8b82e07df Update some. Updated Norwegian bokmål translation.
2006-12-11  Kjartan Maraas  <kmaraas@gnome.org>

	* POTFILES.in: Update some.
	* nb.po: Updated Norwegian bokmål translation.
2006-12-11 11:25:25 +00:00
Ankitkumar Rameshchandra Patel
6c63fc72d5 Updated Translation 2006-12-11 10:51:01 +00:00
Kjartan Maraas
7abcb08b71 Updated Norwegian bokmål translation.
2006-12-11  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.
2006-12-11 07:51:09 +00:00
Matthias Clasen
3541830336 Change the way in which color scheme information is merged to correctly
2006-12-11  Matthias Clasen  <mclasen@redhat.com>

	* gtksettings.c: Change the way in which color scheme information
	is merged to correctly handle vanishing colors.  (#374420,
	Benjamin Berg, patch by Callum McKenzie)
	Also allow to separate entries in color schemes by ';'
	instead of newline.
2006-12-11 06:14:45 +00:00
Felix I
9cd4e34be9 Gtk+ module for tamil in gnome updated 2006-12-11 06:11:59 +00:00
Ani Peter
01f24bbe19 Updated Malayalam translation 2006-12-11 05:18:44 +00:00
Matthias Clasen
d7f7046a5c Properly pass multi-value options to cups. (#355350, Jürg Billeter)
2006-12-10  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkcupsutils.c (gtk_cups_request_encode_option):
        Properly pass multi-value options to cups.  (#355350, Jürg Billeter)
2006-12-11 04:01:44 +00:00
Andre Klapper
4b223186ea committing Michael Natterer's patch for HEAD (committed 2006-09-04) also
2006-12-10  Andre Klapper  <a9016009@gmx.de>

	* hy.po: committing Michael Natterer's patch for HEAD (committed
        2006-09-04) also to gtk-2-10 branch. Fixes bug #377204.
2006-12-10 19:49:11 +00:00
Daniel Nylander
043a19bfb1 Updated Swedish translation.
2006-12-10  Daniel Nylander <po@danielnylander.se>

	* sv.po: Updated Swedish translation.
2006-12-10 18:33:10 +00:00
Matthias Clasen
dd67027b32 Check for crt_extern.h and _NSGetEnviron. Fix compilation on Darwin where
2006-12-10  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Check for crt_extern.h and _NSGetEnviron.
        * gdk/x11/gdkspawn-x11.c: Fix compilation on Darwin where
        environ is not available.  (#384168, Min Sik Kim)
2006-12-10 06:29:05 +00:00
Matthias Clasen
9460c56aed Fix gdk_pixbuf_loader_write error handling 2006-12-10 04:24:28 +00:00
Jovan Naumovski
4bc1b4036f 2006-12-09 Jovan Naumovski <jovanna@cvs.gnome.org> *mk.po: Updated Macedonian translation 2006-12-09 16:35:45 +00:00
Ilkka Tuohela
0790613866 Updated Finnish Translation 2006-12-09 03:49:41 +00:00
Francisco Javier F. Serrador
94d04f979b Updated Spanish translation.
2006-12-08  Francisco Javier F. Serrador  <serrador@openshine.com>

	* es.po: Updated Spanish translation.
2006-12-08 20:39:56 +00:00
Amanpreet Singh Alam
d19337b53c update translation for Punjabi (Gurmukhi) by apbrar gmail com 2006-12-08 10:53:41 +00:00
Paolo Maggi
7395fdc7b3 Fixes bug #383407
2006-12-07  Paolo Maggi  <paolo@gnome.org>

	Fixes bug #383407

	* gtk/gtkentry.c (gtk_entry_set_text): check for
	completion->priv->changed_id > 0 before calling
	g_signal_handler_[un]block.
	(gtk_entry_completion_key_press): does not block/unblock the
"changed"
	signal before calling gtk_entry_set_text.
2006-12-07 16:55:03 +00:00
Matthias Clasen
7f5d798a20 Fix clipping of accelerator underlines 2006-12-07 14:38:59 +00:00
Ankitkumar Rameshchandra Patel
7aa1b22051 Updated Translation 2006-12-07 06:41:21 +00:00
Matthias Clasen
bb82172ae9 better sensitivity updates in the print dialog 2006-12-06 14:56:41 +00:00
Theppitak Karoonboonyanan
cc6aea1005 Replace modules/input/imthai-broken.c with imthai.c. Updated Thai
2006-12-06  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* POTFILES.in: Replace modules/input/imthai-broken.c with imthai.c.
	* th.po: Updated Thai translation.
2006-12-06 14:56:09 +00:00
Felix I
3e7d132880 gtk+ translation corrected and updated 2006-12-05 10:32:01 +00:00
Rahul Bhalerao
61df6d30bc Updated Marathi translation 2006-12-05 08:09:01 +00:00
Rajesh Ranjan
660b5b2cac Updated Translation 2006-12-05 08:03:05 +00:00
Rajesh Ranjan
93c054a31d Updated Translation 2006-12-05 08:02:33 +00:00
Rajesh Ranjan
81ce2f42bd Updated Translation 2006-12-05 07:54:44 +00:00
Rajesh Ranjan
a2fc284631 Updated Translation 2006-12-05 07:54:14 +00:00
Rajesh Ranjan
b693be6fc9 Updated Translation 2006-12-05 07:48:54 +00:00
Rajesh Ranjan
54c8982ae4 Updated Translation 2006-12-05 07:48:18 +00:00
Christian Persch
84995c213e Don't leak the old page size when setting a new one. Bug #382314.
2006-12-04  Christian Persch  <chpe@cvs.gnome.org>

	* gtk/gtkpagesetup.c: (gtk_page_setup_get_paper_size),
	(gtk_page_setup_set_paper_size): Don't leak the old page size when
	setting a new one. Bug #382314.
2006-12-04 17:56:22 +00:00
Matthias Clasen
05a9fd07a4 Fix an a11y regression in message dialogs 2006-12-04 17:53:30 +00:00
Kristian Rietveld
6a6c34ab63 Merge from HEAD.
2006-12-03  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD.

	* gtk/gtktreeview.c (validate_visible_area): when not using an
	explicit alignment, use the full area of the row (not just dy)
	to determine how to implicitly align it.  (Fixes #363191, reported
	by Federico Mena Quintero).
2006-12-03 15:36:02 +00:00
Matthias Clasen
ed7c79ad30 Fix a crash with icon themes 2006-12-02 19:47:40 +00:00
Dom Lachowicz
446c67c19f Bug 351678 - Notebooks not with PositionType.Top drawn incorrectly. Patch
2006-12-02  Dom Lachowicz <domlachowicz@gmail.com>

	* src/modules/engines/ms-windows/msw_style.c: Bug 351678 - Notebooks
	not with PositionType.Top drawn incorrectly. Patch by Cody Russell
2006-12-02 16:35:40 +00:00
Djihed Afifi
b3e330454e Updated Arabic Translation. 2006-12-01 11:08:29 +00:00
Behdad Esfahbod
afed8ee147 Remove the broken Thai input method and add a functional Thai and Lao
2006-11-28  Behdad Esfahbod  <behdad@gnome.org>

        Remove the broken Thai input method and add a functional Thai and Lao
        input method by Theppitak Karoonboonyanan. (#81031)

        * modules/input/imthai.c:
        * modules/input/gtkimcontextthai.c:
        * modules/input/gtkimcontextthai.h:
        * modules/input/thai-charprop.c:
        * modules/input/thai-charprop.h:
        Added.

        * modules/input/imthai-broken.c:
        Removed.

        * modules/input/Makefile.am:
        Updated.
2006-11-29 19:48:05 +00:00
Benjamin Berg
08bd23daa1 Protect against NULL widget. (#379503)
2006-11-26  Benjamin Berg  <benjamin@sipsolutions.net>

	* gtk/gtkstyle.c: (gtk_default_draw_flat_box): Protect against NULL
	  widget. (#379503)
2006-11-26 19:42:15 +00:00
Laurent Dhima
d7a270020f Updated Albanian Translation.
* sq.po: Updated Albanian Translation.
2006-11-25 17:25:53 +00:00
Matthias Clasen
c2d702d625 fix a problem in the cups backend 2006-11-25 05:11:02 +00:00
Djihed Afifi
34ccc9a06d Updated Arabic Translation. Updated + QA'ed 2006-11-24 14:08:53 +00:00
Emmanuele Bassi
f42718d6fd g_filename_from_uri() might fail; catch the failure and fall back to the
2006-11-22  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c:
	(get_uri_shortname_for_display): g_filename_from_uri() might
	fail; catch the failure and fall back to the non-local URI
	case. (#363437)
2006-11-22 09:14:08 +00:00
Pawan Chitrakar
2bc2998344 Updated Nepali Translation 2006-11-21 06:38:54 +00:00
Matic Zgur
c855572421 Updated Slovenian translation.
2006-11-19  Matic Zgur  <mr.zgur@gmail.com>

	* sl.po: Updated Slovenian translation.
2006-11-19 19:35:42 +00:00
Duarte Loreto
af9968364c Updated Portuguese translation.
2006-11-19  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.
2006-11-19 16:51:10 +00:00
Yair Hershkovitz
939538409f updated hebrew translation 2006-11-19 16:08:48 +00:00
Djihed Afifi
729c2cfa0a Updated Arabic Translation. 2006-11-19 15:56:24 +00:00
Djihed Afifi
d0457e6224 Updated Arabic Translation. QA'ed by Khaled Hosny 2006-11-18 20:38:24 +00:00
Matic Zgur
78d6672c1d Updated Polish translation by GNOME PL Team.
2006-11-18  Matic Zgur  <mr.zgur@gmail.com>

	* pl.po: Updated Polish translation by GNOME PL Team.
2006-11-18 18:52:10 +00:00
Matthias Clasen
1fc4da804f Fix problems with drag cancellation. (#376535, Michael Natterer)
2006-11-17  Matthias Clasen  <mclasen@redhat.com>

        Fix problems with drag cancellation. (#376535, Michael Natterer)

        * gtk/gtkdnd.c (gtk_drag_source_info_destroy): Disconnect signal
        handlers before emitting drag-end.
        (gtk_drag_end): Disconnect signal handlers before removing
        the grab.
2006-11-18 04:44:11 +00:00
Mariano Suárez-Alvarez
8ad2314da3 add gtk-doc blurb on GtkCellRendererText::edited (#376094)
2006-11-16  Mariano Suárez-Alvarez <mariano@gnome.org>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
	add gtk-doc blurb on GtkCellRendererText::edited (#376094)
2006-11-16 21:25:32 +00:00
Emmanuele Bassi
38fbbaad72 Apply the tip only if we have a displayable name for the item. (#365031,
2006-11-16  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentchoosermenu.c:
	(gtk_recent_chooser_menu_add_tip): Apply the tip only
	if we have a displayable name for the item. (#365031,
	patch by padraig.obriain(at)sun.com)
2006-11-16 10:13:01 +00:00
Emmanuele Bassi
165b491846 Provide a fast path returning NULL when the limit is set to 0.
2006-11-16  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c: Provide a fast path returning
	NULL when the limit is set to 0.

	* gtk/gtkrecentchooserdefault.c:
	* gtk/gtkrecentchoosermenu.c: Add the same fast path
	inside the RecentChooser implementation; add a check
	in the list clamping code. (#373466 and duplicates)
2006-11-16 09:34:53 +00:00
Djihed Afifi
9903b0e10a Updated Arabic Translation. 2006-11-15 20:25:18 +00:00
Matthias Clasen
46e22ea38e Don't pass NULL to strncpy. (#359537, patch by Carlos Garcia Campos)
2006-11-15  Matthias Clasen  <mclasen@redhat.com>

	* modules/printbackends/cups/gtkprintbackendcups.c (cups_printer_get_options):
	Don't pass NULL to strncpy.  (#359537, patch by  Carlos Garcia Campos)
2006-11-15 19:35:49 +00:00
Djihed Afifi
bf48fd123d Updated Arabic Translation. 2006-11-15 00:49:36 +00:00
Behdad Esfahbod
f71c706e82 Make libtool magic robust. (#352795)
2006-11-14  Behdad Esfahbod  <behdad@gnome.org>

        * configure.in: Make libtool magic robust. (#352795)
2006-11-14 20:07:29 +00:00
Paolo Borelli
114d36203e plug small memory leak (#370395)
2006-11-13  Paolo Borelli  <pborelli@katamail.com>

	* gtk/gtkrc.c (gtk_rc_parse_icon_source): plug small memory
	leak (#370395)
2006-11-13 20:05:35 +00:00
Priit Laes
0e43758a99 Translation updated by Ivar Smolin.
2006-11-12  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-11-12 08:37:23 +00:00
Djihed Afifi
5ad70e6ebe Updated Arabic Translation. 2006-11-11 12:46:33 +00:00
Kristian Rietveld
c402e38fb2 Merge from HEAD.
2006-11-09  Kristian Rietveld  <kris@imendio.com>

	Merge from HEAD.

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): disable
	don't move cursor case for SELECTION_NONE. (#371756, John Ellis).
2006-11-09 17:11:30 +00:00
Carlos Garnacho
3a00093197 Fix parenthesis confusion.
2006-11-09  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtkpathbar.c (on_slider_unmap): Fix parenthesis confusion.
2006-11-09 16:54:29 +00:00
Carlos Garnacho
6ffcb87abd added, do not leave the scroll timeout running if the slider buttons are
2006-11-08  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtkpathbar.c (on_slider_unmap): added, do not leave the scroll
        timeout running if the slider buttons are hidden. (#372527)
2006-11-08 19:49:29 +00:00
Carlos Garnacho
a76975388a make non-focused tabs xthickness/ythickness thinner. (#353962)
2006-11-07  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c (gtk_notebook_calculate_tabs_allocation): make
        non-focused tabs xthickness/ythickness thinner. (#353962)
2006-11-07 16:57:16 +00:00
Paolo Borelli
abffc3be79 avoid memory corruption (#357050).
2006-11-07  Paolo Borelli  <pborelli@katamail.com>

	* gtk/gtktextbtree.c (_gtk_text_btree_delete): avoid memory
	corruption (#357050).
2006-11-07 15:41:13 +00:00
Alexander Larsson
54d50a276d Cancel drag when the grab is shadowed. (#122688)
2006-11-06  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkdnd.c: (gtk_drag_begin_internal),
	(gtk_drag_source_info_destroy), (gtk_drag_end),
	(gtk_drag_grab_notify_cb):
	Cancel drag when the grab is shadowed. (#122688)
2006-11-06 17:15:52 +00:00
Priit Laes
6436dd8fab Translation updated by Ivar Smolin.
2006-11-05  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-11-05 08:55:23 +00:00
Yair Hershkovitz
defcd18bb2 updated hebrew translation 2006-11-04 19:08:44 +00:00
Christophe Merlet
8115123e21 Updated French translation. 2006-11-02 11:47:47 +00:00
Priit Laes
c1a26cf778 Translation updated by Ivar Smolin.
2006-11-01  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-11-01 17:25:37 +00:00
Kristian Rietveld
c01b67e37a Merge from HEAD
2006-10-30  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): don't
	forget to queue a draw for the new cursor node. (Fixes #366548,
	reported by Sven Herzberg).
2006-10-30 22:08:41 +00:00
Michael Natterer
f4373f4696 Merge from HEAD
2006-10-30  Michael Natterer  <mitch@imendio.com>

	Merge from HEAD

	* gtk/gtkrange.c (gtk_range_key_press): consume the Escape key
	only if we actually cancel a drag. Fixes bug #58389.
2006-10-30 13:43:10 +00:00
Kristian Rietveld
7afe19b46a Merge from HEAD
2006-10-30  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button): draw
	the indicator if the column has a sort column id (and the model is
	sortable) or if the user explicitly requested the indicator
	to be shown.  (Fixes #352738, Chris Vine).
2006-10-30 12:27:41 +00:00
Kristian Rietveld
f3aa436d78 Merge from HEAD
2006-10-29  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD

	* gtk/gtktreeview.c (gtk_tree_view_real_expand_row): guard against
	child removal in row-expanded callback. (#366782, John Ellis).
2006-10-29 15:51:31 +00:00
Kristian Rietveld
cf2cb36329 Merge from HEAD
2006-10-28  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD

	* gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): if the tree view
	has already been realized; scroll to background area instead of
	cell area. (Fixes #330683, Johan Dahlin, Tommi Komulainen).
2006-10-29 15:27:19 +00:00
Kristian Rietveld
3088eb6584 Merge from HEAD
2006-10-28  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD

	* gtk/gtktreeview.c (gtk_tree_view_set_grid_lines): only attempt
	to create the GCs if the widget is realized. (Fixes #357578).
2006-10-29 15:23:35 +00:00
Kristian Rietveld
c8decbce3c Merge from HEAD.
2006-10-28  Kristian Rietveld  <kris@imendio.com>

	Merge from HEAD.

	2006-09-15  Michael Natterer  <mitch@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_key_press): refactored column
	header navigation/resizing/reordering to be more readable and lose
	one level of nesting.

	2006-09-15  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_key_press): actually directly
	return after handling column button focus; we disable wrap around
	with this (which actually happened via a really weird code path).
	(Michael Natterer)

	2006-09-15  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_key_press): make column resizing
	code RTL aware, also break from the loops after we have seen the
	focussed column button (Michael Natterer).
2006-10-29 15:19:04 +00:00
Tor Lillqvist
630e2087ab Improve handling of the small icon of the window class. (#152620, Kazuki
2006-10-29  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Improve handling
	of the small icon of the window class. (#152620, Kazuki Iwamoto)
2006-10-29 00:10:58 +00:00
Tor Lillqvist
fcdff95011 Implement for B&W cursors, for instance the built-in GDK ones.
2006-10-29  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkcursor-win32.c
	(gdk_win32_icon_to_pixbuf_libgtk_only): Implement for B&W cursors,
	for instance the built-in GDK ones.
2006-10-29 00:09:25 +00:00
Tor Lillqvist
125c0281e7 pixbufloader_*.def Remove pixbufloader_*.def, they are not used. (#365388)
2006-10-29  Tor Lillqvist  <tml@novell.com>

	* pixbufloader_*.def
	* Makefile.am (EXTRA_DIST): Remove pixbufloader_*.def, they are
	not used. (#365388) They were all identical, and exported just two
	symbols, so if somebody needs them for a MSVC build that doesn't
	use built-in modules it's trivial to hack makefile.msc to produce
	a common .def file for the loaders. The two symbols that need to
	be exported are fill_info and fill_vtable.
2006-10-28 23:27:33 +00:00
Kristian Rietveld
30f4d86da4 Merge from HEAD.
2006-10-27  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD.

	* gtk/gtktreeview.c (validate_visible_area): rework the area_above == 0
	case to not overwrite the variables in the lower scope (which are
	used later on ...), get the path correctly and bail out when there
	isn't a node above us. (#359231).
2006-10-27 20:02:17 +00:00
Christian Persch
90e4cf03ff Put initial focus on Close button (#337261).
2006-10-26  Christian Persch  <chpe@cvs.gnome.org>

	* gtk/gtkaboutdialog.c: Put initial focus on Close button (#337261).
2006-10-26 12:22:36 +00:00
Priit Laes
802f750ca6 Translation updated by Ivar Smolin.
2006-10-24  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-10-24 19:41:31 +00:00
Priit Laes
56fbfa6c95 Translation updated by Ivar Smolin.
2006-10-24  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-10-23 21:12:45 +00:00
Dom Lachowicz
373ba3ea35 Remember to free GDI Pen resources, introduced by bug 340201.(#364514)
2006-10-23  Dom Lachowicz <domlachowicz@gmail.com>

        * modules/engines/ms-windows/msw_style.c (draw_expander): Remember
        to free GDI Pen resources, introduced by bug 340201.(#364514)
2006-10-23 20:29:33 +00:00
Christophe Merlet
c44c9e0c4a Updated French translation. 2006-10-22 09:28:06 +00:00
Josep Puigdemont i Casamajó
9586e39ec4 Updated Catalan translation. 2006-10-21 22:01:55 +00:00
Paolo Borelli
f726c3380e plug memory leak. Fixes bug #362439.
2006-10-15  Paolo Borelli  <pborelli@katamail.com>

	* gtk/gtkicontheme.c (pixbuf_supports_svg): plug memory leak.
	Fixes bug #362439.
2006-10-15 22:58:32 +00:00
Francisco Javier F. Serrador
e676512b76 Updated Spanish translation.
2006-10-15  Francisco Javier F. Serrador  <serrador@openshine.com>

	* es.po: Updated Spanish translation.
2006-10-15 00:25:42 +00:00
Francisco Javier F. Serrador
f8c66f8219 Updated Spanish translation.
2006-10-15  Francisco Javier F. Serrador  <serrador@openshine.com>

	* es.po: Updated Spanish translation.
2006-10-15 00:03:33 +00:00
Vladimer Sichinava
fea601376c Fixed some errors 2006-10-14 00:15:31 +00:00
Gabor Kelemen
605bcdf3ed Translation updated by Kelemen Gábor.
2006-10-13  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated by Kelemen Gábor.
2006-10-13 19:24:43 +00:00
Vladimer Sichinava
ea35d2ca2e Updated Georgian translation 2006-10-13 00:35:49 +00:00
Matthias Clasen
0a45289c32 Fix a typo. (#359542, Ghee Teo)
2006-10-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprintunixdialog.c (update_dialog_from_capabilities): Fix
	a typo.  (#359542, Ghee Teo)
2006-10-08 19:38:21 +00:00
Matthias Clasen
9245a4eca6 Only reorder tabs if the focus is in the tab. (#350342, Carlos Garnacho
2006-10-08 Matthias Clasen <mclasen@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_reorder_tab): Only
	reorder tabs if the focus is in the tab.  (#350342, Carlos
	Garnacho Parro)
2006-10-08 19:03:00 +00:00
Tor Lillqvist
cb2fec0248 Remove stray CVS conflict indicator. 2006-10-08 17:24:42 +00:00
Tor Lillqvist
c60f1996b6 Small fix to the code committed earlier today.
2006-10-08  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkmain.c (do_pre_parse_initialization): Small fix to the
	code committed earlier today.
2006-10-08 07:55:50 +00:00
Matthias Clasen
5a177560b6 Fix a leak 2006-10-08 05:26:04 +00:00
Tor Lillqvist
8c169ce529 On Win32, if environment variable LC_ALL or LANG is set, set the Win32
2006-10-08  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkmain.c (do_pre_parse_initialization): On Win32, if
	environment variable LC_ALL or LANG is set, set the Win32 thread
	locale to the corresponding locale. Then call the C library
	setlocale() to set the C library locale accordingly. The
	inconsistency mentioned below is gone. (#339756) Do some special
	casing for Serbia and Montenegro. Handle the Latin and Cyrillic
	scripts for Azeri, Uzbek and Serbian.
	(enum_locale_proc): Helper function for the above functionality.

	* gtk/gtkcalendar.c (gtk_calendar_init): No longer need to check
	if the environment variables are set here, as they have already
	been taken into account and the Win32 thread locale has been
	set.
2006-10-08 01:39:09 +00:00
Tor Lillqvist
1f37777588 Use the Win32 thread locale's first day of week setting on Win32.
2006-10-07  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkcalendar.c (gtk_calendar_init): Use the Win32 thread
	locale's first day of week setting on Win32. (#339752, Bogdan
	Nicula) Don't do this if one of the environment variables that
	affect gettext is set, though. In that case use the week start day
	from the corresponding message catalog.

	Unfortunately the same logic isn't possible in the weekday and
	month name lookup; there even if you have set one of the
	aforementioned environment variables, you still get the weekday
	and month names from the Win32 thread locale. Yes, this is
	inconsistent.
2006-10-07 21:28:23 +00:00
Matthias Clasen
0d90bfe851 fix docs 2006-10-06 19:16:21 +00:00
Matthias Clasen
bb48a1efc7 Don't set the background of the window in a no-window widget. (#359581,
2006-10-06  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcellview.c: Don't set the background of the
        window in a no-window widget.  (#359581, Xan Lopez)
2006-10-06 18:35:57 +00:00
Behdad Esfahbod
418f80e294 Propagate srcdir into the test correctly. (#359845)
2006-10-05  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/Makefile.am, gtk/aliasfilescheck.sh:  Propagate srcdir into the
        test correctly. (#359845)
2006-10-05 15:53:42 +00:00
Matthias Clasen
9b8834d075 Fix interaction of GtkEntryCompletion with input methods. (#354495, Diego
2006-10-03  Matthias Clasen  <mclasen@redhat.com>

        Fix interaction of GtkEntryCompletion with input
        methods.  (#354495, Diego Escalante Urrelo)

        * gtk/gtkentry.c (gtk_entry_completion_key_press): Only reset
        the im context if we actually handle the key event.

        * gtk/gtkentrycompletion.c: Also propagate key release events
        to the entry.
2006-10-04 03:24:36 +00:00
Matthias Clasen
6cede96218 bump version 2006-10-03 21:07:03 +00:00
Matthias Clasen
29a965afa8 broken pipe 2006-10-03 20:57:35 +00:00
Matthias Clasen
e445684813 2.10.6 2006-10-03 20:33:18 +00:00
Matthias Clasen
680fc7c5d2 updates 2006-10-03 16:52:16 +00:00
Matthias Clasen
88f75cf309 reduce relocations 2006-10-03 15:51:47 +00:00
Matthias Clasen
8340b819fc Complete the fix for bug 357280.
2006-10-03  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkprintbackendcups.c: Complete
        the fix for bug 357280.
2006-10-03 14:48:54 +00:00
Behdad Esfahbod
31bca0f00c Fix typo in file name. (#358931)
2006-10-02  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/Makefile.am: Fix typo in file name.  (#358931)
2006-10-02 17:27:53 +00:00
Matthias Clasen
ee8628b3a6 2.10.5 2006-10-02 06:56:01 +00:00
Matthias Clasen
c246b5f740 Only use the group name field if cups is new enough. (#357280)
2006-10-02  Matthias Clasen  <mclasen@redhat.com>

	* modules/printbackends/cups/gtkprintbackendcups.c (available_choices):
	Only use the group name field if cups is new enough.  (#357280)
2006-10-02 05:37:59 +00:00
Matthias Clasen
43c3c79029 Make sure that the quarks are initialized before using them. (#353736)
2006-10-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksizegroup.c: Make sure that the quarks are
	initialized before using them.  (#353736)
2006-10-02 05:21:34 +00:00
Priit Laes
775539ef1d Translation updated by Ivar Smolin.
2006-10-02  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-10-02 05:10:55 +00:00
Matthias Clasen
e1447f1f95 Use rm instead of ln -f to replace existing links. (#354849, James Evans)
2006-10-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/Makefile.am (stamp-icons): Use rm instead of ln -f to
	replace existing links.  (#354849, James Evans)
2006-10-02 04:06:53 +00:00
Matthias Clasen
a122c33eda Make the event_window large enough to cover the full height of the
2006-10-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkexpander.c (gtk_expander_realize)
	(gtk_expander_size_allocate): Make the event_window large
	enough to cover the full height of the label_widget.  (#358351,
	Scott Horowitz)
2006-10-02 03:49:29 +00:00
Matthias Clasen
8bf4caf83c Set model in all cases. (#357791, Andreas Köhler)
2006-10-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeselection.c (gtk_tree_selection_get_selected_rows):
	Set model in all cases.  (#357791, Andreas Köhler)
2006-10-02 01:27:25 +00:00
Tor Lillqvist
26366d713d Same change as to gtkfilesystemunix.c.
2006-10-01  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkfilesystemwin32.c: Same change	as to gtkfilesystemunix.c.
2006-10-01 19:24:27 +00:00
Matthias Clasen
60d34ea94f Protect against base_path being NULL. (#358405, many reporters)
2006-09-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserbutton.c (update_combo_box): Protect
        against base_path being NULL.  (#358405, many reporters)
2006-09-30 13:27:15 +00:00
Matthias Clasen
f06c2a4daa Avoid a deadlock 2006-09-29 14:17:01 +00:00
Pema Geyleg
9daaf9022b *** empty log message *** 2006-09-29 09:14:04 +00:00
Vladimer Sichinava
d0a6ca795c updated Georgian translation 2006-09-26 11:37:37 +00:00
Vladimer Sichinava
6b6cbd183d updated Georgian translation 2006-09-26 00:31:25 +00:00
Ignacio Casal Quinteiro
4001a629d7 *** empty log message *** 2006-09-25 21:58:20 +00:00
Matthias Clasen
9660d080a4 Don't leak the list of children (#357454, Paolo Borelli)
2006-09-25  Matthias Clasen  <mclasen@redhat.com>
        * gtk/gtkuimanager.c (_gtk_menu_is_empty): Don't leak
        the list of children (#357454, Paolo Borelli)
2006-09-25 13:34:52 +00:00
Michael Natterer
5956de6e07 free display->input_windows with g_free(), not g_object_unref() (#357566,
2006-09-25  Michael Natterer  <mitch@imendio.com>

	* gdk/x11/gdkdisplay-x11.c (gdk_display_x11_finalize): free
	display->input_windows with g_free(), not g_object_unref()
	(#357566, Tommi Komulainen).
2006-09-25 09:57:01 +00:00
Tor Lillqvist
a9dcd9f0a9 Use EXEEXT.
2006-09-23  Tor Lillqvist  <tml@novell.com>

	* gtk/Makefile.am: Use EXEEXT.
2006-09-23 07:28:31 +00:00
Matthias Clasen
11cfcef2b5 Bump version 2006-09-23 05:29:06 +00:00
Matthias Clasen
3f7a54b141 2.10.4 2006-09-23 05:23:00 +00:00
Matthias Clasen
48a616d351 Updates 2006-09-23 02:51:51 +00:00
Michael Natterer
101a718279 also copy icon factories and color hashes. Fixes bug #357132.
2006-09-22  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkstyle.c (gtk_style_real_copy): also copy icon factories
	and color hashes. Fixes bug #357132.
2006-09-22 20:39:35 +00:00
Matthias Clasen
34b99286d5 updates 2006-09-22 18:51:12 +00:00
Matthias Clasen
8620115255 make it build 2006-09-22 17:48:24 +00:00
Matthias Clasen
84742b9f0b Apply a patch to fix some typos. (#355961, Claudio Saavedra)
2006-09-22  Matthias Clasen  <mclasen@redhat.com>
        * gtk/tmpl/gtkpagesetup.sgml: Apply a patch
        to fix some typos.  (#355961, Claudio Saavedra)
2006-09-22 16:37:20 +00:00
Matthias Clasen
63ef81fdc9 Make remote bookmarks work better (#354887)
2006-09-22  Matthias Clasen  <mclasen@redhat.com>

	Make remote bookmarks work better (#354887)

	* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons):
	(shortcuts_insert_path):
	* gtk/gtkfilechooserbutton.c (change_icon_theme):
	(model_add_bookmarks):
	(model_update_current_folder):
	(update_label_and_image):
	If the bookmark points to a remote file, don't call get_info(),
	since that may a) take a long time and b) pop up an auth dialog.
	Instead, just use a folder icon and create a display name
	from the uri.

	* gtk/gtkfilechooserdefault.c (_gtk_file_chooser_label_for_uri):
	New function to create a suitable display name for a remote
	uri. This should really be done in GtkFileSystem.
2006-09-22 16:33:04 +00:00
Francisco Javier F. Serrador
80d2f3ffc8 Updated Spanish translation.
2006-09-22  Francisco Javier F. Serrador  <serrador@openshine.com>

	* es.po: Updated Spanish translation.
2006-09-22 10:16:34 +00:00
Priit Laes
124473aa06 Translation updated by Ivar Smolin.
2006-09-21  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-09-21 16:30:44 +00:00
Hendrik Richter
6fc802603e Updated German translation.
2006-09-21  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.
2006-09-21 15:30:54 +00:00
Behnam Esfahbod
a8d1216f40 just check the first shift-level of keyboard layout for RTL and LTR
2006-09-20  Behnam Esfahbod <behnam@zwnj.org>
	* gdk/x11/gdkkeys-x11.c:
	  (get_direction): just check the first shift-level of keyboard
	layout for RTL and LTR keysyms() (compliment to #116626)

Apply the missing patch of the previous commit.
2006-09-20 18:17:17 +00:00
Behnam Esfahbod
4f481fd16a just check the first shift-level of keyboard layout for RTL and LTR
2006-09-20  Behnam Esfahbod <behnam@zwnj.org>
	* gdk/x11/gdkkeys-x11.c:
	  (get_direction): just check the first shift-level of keyboard
	layout for RTL and LTR keysyms() (compliment to #116626)
2006-09-20 18:00:42 +00:00
Vladimer Sichinava
14ae061932 Added Georgian translation of gcalctool 2006-09-20 02:30:44 +00:00
Matthias Clasen
1363f15ffb Display an error when we come to the root.
2006-09-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb):
	Display an error when we come to the root.
2006-09-19 14:15:38 +00:00
Priit Laes
1f09278371 Translation updated by Ivar Smolin.
2006-09-18  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-09-18 05:25:32 +00:00
Åsmund Skjæveland
d322b8ee97 Updated Norwegian Nynorsk translation.
2006-09-17  Åsmund Skjæveland  <aasmunds@fys.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.
2006-09-17 18:54:45 +00:00
Matthias Clasen
510e51ec63 Use bookmark labels in the combobox.
2006-09-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c: Use bookmark labels in
	the combobox.
2006-09-17 04:19:05 +00:00
Matthias Clasen
c6d7d38bfd Don't add remote volumes and bookmarks to the model in local-only mode, to
2006-09-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c: Don't add remote volumes and
	bookmarks to the model in local-only mode, to avoid
	authentication dialogs pop up for invisible bookmarks, and
	to fix issues with separators not being hidden when
	they should.  (#354887, Dennis Cranston)
2006-09-17 03:32:40 +00:00
Vincent van Adrighem
2a9b1d0ec8 Translation updated by Tino Meinen.
2006-09-16  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.
2006-09-16 11:11:13 +00:00
Matthias Clasen
cf6bf669f0 Unref the treeview use in list mode. (#355732, Richard Hult)
2006-09-16  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcombobox.c (gtk_combo_box_finalize): Unref the
        treeview use in list mode.  (#355732, Richard Hult)
2006-09-16 05:12:30 +00:00
Matthias Clasen
d2b4ac86a8 Send change notification for the right property. (#355308, Torsten
2006-09-16  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktreeview.c (gtk_tree_view_set_grid_lines): Send
        change notification for the right property.  (#355308,
        Torsten Schoenfeld)
2006-09-16 04:37:08 +00:00
Theppitak Karoonboonyanan
b84cd44c43 Updated Thai translation.
2006-09-16  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Updated Thai translation.
2006-09-16 04:20:53 +00:00
Matic Zgur
4c63cd580b Updated Slovenian translation.
2006-09-15  Matic Zgur  <mr.zgur@gmail.com>

	* sl.po: Updated Slovenian translation.
2006-09-15 10:37:41 +00:00
Kostas Papadimas
7a66a31427 Updated Greek translation 2006-09-14 06:46:36 +00:00
Ankitkumar Rameshchandra Patel
0e21c332c9 Updated Translation 2006-09-14 05:41:55 +00:00
Alexander Shopov
76b94bdffa Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2006-09-14  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>
2006-09-14 05:15:24 +00:00
Jovan Naumovski
bb517d5994 2006-09-13 Jovan Naumovski <jovanna@cvs.gnome.org> * mk.po: Updated Macedonian translation 2006-09-13 21:13:08 +00:00
David Lodge
1b970b5d1b Updated English (British) translation
2006-09-13  David Lodge <dave@cirt.net>

	* en_GB.po: Updated English (British) translation
2006-09-13 19:47:39 +00:00
Matthias Clasen
641da23dbc Use a GtkWindow instead of a GtkInvisible for the grab widget, to make the
2006-09-13 Matthias Clasen <mclasen@redhat.com>
        * gtk/gtkcolorsel.c: Use a GtkWindow instead of a GtkInvisible
        for the grab widget, to make the color picker work with window
        groups.
2006-09-13 17:32:48 +00:00
Nickolay V. Shmyrev
166287cfa7 Updated Russian translation.
2006-09-13  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>

	* ru.po: Updated Russian translation.
2006-09-13 16:10:06 +00:00
Felix I
5919606776 Tamil Translation updated 2006-09-13 08:13:02 +00:00
Runa Bhattacharjee
4a2b65ba47 Added Entry for Bengali India Translation Updation 2006-09-13 05:41:12 +00:00
Runa Bhattacharjee
a162b00071 Updated Bengali India Translation 2006-09-13 05:40:56 +00:00
Rajesh Ranjan
716cc206ab updated gtk for context translation error 2006-09-13 05:26:54 +00:00
Ilkka Tuohela
8e61150ee6 Updated Finnish translation 2006-09-13 04:32:57 +00:00
Vladimer Sichinava
1643096a72 Error correction 2006-09-13 00:33:45 +00:00
Gintautas Miliauskas
0777d8b0f8 Updated Lithuanian translation 2006-09-12 19:17:24 +00:00
Kjartan Maraas
642bc4ea02 Add two binaries here 2006-09-12 14:34:07 +00:00
Hong Jen Yee
40c8c6e7d1 signed off by: Dom Lachowicz
2006-09-12 Hong Jen Yee <pcman.tw@gmail.com>

	signed off by: Dom Lachowicz

	* modules/engines/ms-windows/msw_style.c: Bug 340201. This contains
	a large number of improvements to the Microsoft Windows theme engine
	which are fully described in the bug report.
2006-09-12 11:50:11 +00:00
Jovan Naumovski
cc8974213b 2006-09-12 Jovan Naumovski <jovanna@cvs.gnome.org> * mk.po: Updated Macedonian translation 2006-09-12 11:09:05 +00:00
Ankitkumar Rameshchandra Patel
c6b51549a6 Updated Translation 2006-09-11 12:32:20 +00:00
Daniel Nylander
c3a804c24b Updated Swedish translation.
2006-09-11  Daniel Nylander <po@danielnylander.se>

	* sv.po: Updated Swedish translation.
2006-09-11 11:11:59 +00:00
Matthias Clasen
69eec539a0 Request the display name too, otherwise "Desktop" does not appear in the
2006-09-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (model_add_special): Request
	the display name too, otherwise "Desktop" does not appear
	in the file chooser button.
2006-09-11 02:33:57 +00:00
Kjartan Maraas
e3ab5e9c55 Updated Norwegian bokml translation.
2006-09-10  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokml translation.
2006-09-10 18:25:43 +00:00
Priit Laes
953750da7f Translation updated by Ivar Smolin.
2006-09-10  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-09-10 16:03:12 +00:00
Ilkka Tuohela
a743b14354 Updated Finnish translation 2006-09-10 08:11:35 +00:00
Ilkka Tuohela
72d3fbc7c9 Updated Finnish translation 2006-09-10 08:10:24 +00:00
Ilkka Tuohela
57b08805e3 Updated Finnish translation 2006-09-10 08:01:40 +00:00
David Lodge
3e2a24892a Updated English (British) translation.
2006-09-10  David Lodge <dave@cirt.net>

	* en_GB.po: Updated English (British) translation.
2006-09-10 07:11:46 +00:00
David Lodge
a1eb50a2ab Updated English (British) translation.
2006-09-09  David Lodge <dave@cirt.net>

	* en_GB.po: Updated English (British) translation.
2006-09-10 06:59:39 +00:00
Matthias Clasen
da05f10d2d add new files 2006-09-10 06:36:11 +00:00
Matthias Clasen
40fd8e6cc3 Commit a patch by Behdad to fix typos, omissions and other errors in the
2006-09-10  Matthias Clasen  <mclasen@redhat.com>

        * Commit a patch by Behdad to fix typos, omissions and other
        errors in the symbol aliasing, and add checks for local PLT
        entries.  (#354687, Behdad Esfahbod)
2006-09-10 06:33:17 +00:00
Matthias Clasen
aa08e0d9cc Renew the flush timeout. (#354043, Nelson Benitez)
2006-09-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_search_scroll_event): Renew
	the flush timeout.  (#354043, Nelson Benitez)
2006-09-10 05:27:59 +00:00
Matthias Clasen
5af3a64c9e Fix a typo. String change! (#355134, David Lodge)
2006-09-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/paper_names_offsets.c: Fix a typo. String change! (#355134,
	David Lodge)
2006-09-10 04:55:37 +00:00
Matthias Clasen
4dc8359235 Fix small theoretical memory leaks. (#353916, Chris Wilson)
2006-09-09  Matthias Clasen <mclasen@redhat.com>

        * gdk/x11/gdkfonts-x11.c: Fix small theoretical memory leaks.
        (#353916, Chris Wilson)
2006-09-09 05:33:42 +00:00
Matthias Clasen
5087ef4102 Don't leak the to_reset list. (#353914, Chris Wilson)
2006-09-09  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtksettings.c (_gtk_settings_reset_rc_values):
        Don't leak the to_reset list.  (#353914, Chris Wilson)
2006-09-09 05:24:29 +00:00
Matthias Clasen
174da39bc4 Don't unnecessarily reset the im context when deleting the selection.
* gtk/gtkentry.c: Don't unnecessarily reset the im context
        when deleting the selection.  (#353803, Alex Larsson)

2
2006-09-09 05:14:47 +00:00
Matthias Clasen
c9b15d54f9 Add docs for the parent-set signal. (#353772, Mariano Suárez-Alvarez)
2006-09-09  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkwidget.c: Add docs for the parent-set signal.
        (#353772, Mariano Suárez-Alvarez)
2006-09-09 05:07:07 +00:00
Jamil Ahmed
f2775b533c bn.po: Updated Bengali translation. 2006-09-08 22:30:35 +00:00
Matthias Clasen
4ea89f0897 fix a slypheed crash 2006-09-08 20:05:04 +00:00
Raivis Dejus
a193fda540 Updated Latvian translation.
2006-09-08  Raivis Dejus  <orvils@gmail.com>

        * lv.po: Updated Latvian translation.
2006-09-08 08:02:32 +00:00
Vladimer Sichinava
746aed53f8 Updated Georgian trasnaltion 2006-09-08 02:34:56 +00:00
Jamil Ahmed
6cd79b7b8f Updated Bengali Translations. 2006-09-07 11:26:14 +00:00
Pema Geyleg
72146b2f04 *** empty log message *** 2006-09-07 03:05:03 +00:00
Tor Lillqvist
894a2429b9 Merged from HEAD:
2006-09-06  Tor Lillqvist  <tml@novell.com>

	Merged from HEAD:

	* gtk/gtkfilesystemwin32.c: Copy what Kris did to
	gtkfilesystemunix.c
2006-09-06 19:27:13 +00:00
Josep Puigdemont i Casamajó
b956599653 Updated Catalan translation. 2006-09-06 16:56:06 +00:00
Matthias Clasen
18ae687952 fix the build 2006-09-06 14:20:02 +00:00
Subhransu Behera
773873d9e7 Updated Oriya Translation 2006-09-06 07:30:58 +00:00
Subhransu Behera
24b3f069bf Added Strings for Updated Oriya Translation 2006-09-06 07:30:36 +00:00
Matthias Clasen
d667d39aa2 Simplify and fix reading of ASCII images.
2006-09-06  Matthias Clasen  <mclasen@redhat.com>

	* io-pnm.c: Simplify and fix reading of ASCII images.
2006-09-06 05:07:49 +00:00
Ahmad Riza H Nst
2fc7eb5f8b Updated.
2006-09-06  Ahmad Riza H Nst  <rizahnst@eriagempita.co.id>

        * id.po: Updated.
2006-09-06 03:16:35 +00:00
Subhransu Behera
c7fd94f84d Updated Oriya Translation 2006-09-05 11:35:49 +00:00
Subhransu Behera
be92f481e8 Added Strings for Updated Oriya Translation 2006-09-05 11:34:08 +00:00
Felix I
fd08669049 Tamil Translation updated 2006-09-05 06:14:44 +00:00
Matthias Clasen
ed167226a0 bump version 2006-09-05 05:41:34 +00:00
Matthias Clasen
791828790a 2.10.3 2006-09-05 05:36:21 +00:00
Kristian Rietveld
66fa3d512e Merged from HEAD:
2006-09-04  Kristian Rietveld  <kris@imendio.com>

	Merged from HEAD:

	* gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb):
	if setting the given folder failed, try setting the parent folder
	until we succeed; display an error box at the end.
2006-09-04 21:02:44 +00:00
Kristian Rietveld
37da199d52 Merged from HEAD:
2006-09-04  Kristian Rietveld  <kris@imendio.com>

	Merged from HEAD:

	* gtk/gtkpathbar.c (gtk_path_bar_dispose): don't cancel the
	operations spawned by buttons here,
	(set_button_image_get_info_cb): bail out if button is NULL, but
	do free button_data,
	(button_data_free): only free the data if non NULL (since this
	function can be called multiple times for the same data), cancel
	handle if pending but don't free button_data in this case (will
	happen in the callback).
2006-09-04 20:57:45 +00:00
Kristian Rietveld
eba91c5800 Merged from HEAD:
2006-09-04  Kristian Rietveld  <kris@imendio.com>

	Merged from HEAD:

	* gtk/gtkfilechooserdefault.c (save_entry_get_info_cb),
	(file_exists_get_info_cb), (gtk_file_chooser_default_should_respond):
	change file_exists_and_is_not_folder checks to get the file info
	for the path directly instead of querying the current file folder
	of the save entry.

	* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault): add
	new field.

	* tests/autotestfilechooser.c (wait_for_idle_idle), (wait_for_idle),
	(test_reload_sequence), (test_button_folder_states_for_action): wait
	for idle after setting a folder to ensure the async operations to load
	the folder are finished,
	(test_confirm_overwrite), (test_confirm_overwrite_for_path):
	factor out test_confirm_overwrite code so we can add tests for more
	paths more easily.
2006-09-04 20:54:41 +00:00
Kristian Rietveld
90fae608af Merged from HEAD:
2006-09-04  Kristian Rietveld  <kris@imendio.com>

	Merged from HEAD:

	First part of file chooser fixes.

	* gtk/gtkfilechooserbutton.c (model_add_special): also set the
	handle in the model for the desktopdir case.

	* gtk/gtkfilechooserdefault.c (shortcuts_add_current_folder): free
	volume in case we retrieved it but don't pass it on to insert_path,
	(shortcuts_model_create): change the column type for the handles
	to pointer instead of GObject so our handle ref counting is not
	disturbed,
	(show_and_select_paths_finished_loading): don't forget to unref
	the dialog.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_class_init),
	(gtk_file_system_unix_init), (gtk_file_system_unix_dispose):
	remove pending execute_callbacks_idle during dispose, also
	execute all callbacks waiting to be run in the next idle,
	(queue_*callback), (execute_callbacks_idle): refactor to maintain
	a list of callbacks to call per file system instead of globally,
	guard the file system during callback invocation,
	(gtk_file_system_unix_get_folder): only add load folder idle if
	none has been added yet.
2006-09-04 20:49:21 +00:00
Alessio Frusciante
84a0d8c855 Updated Italian translation 2006-09-04 19:45:56 +00:00
Danilo Šegan
1e78692f9f Updated Serbian by Goran Rakić. 2006-09-04 19:43:34 +00:00
Josep Puigdemont i Casamajó
5555e27619 Updated Catalan translation. 2006-09-04 16:23:25 +00:00
Michael Natterer
0a07b6b912 Merged from HEAD:
2006-09-04  Michael Natterer  <mitch@imendio.com>

	Merged from HEAD:

	* gtk/gtkrc.c (rc_parse_token_or_compound)
	(gtk_rc_parse_assignment): serialize floating point values using
	locale-independent functions. (#346751, Frederic Crozat)
2006-09-04 11:25:17 +00:00
Michael Natterer
dfd717aacd ja.po msgfmt 0.15 chokes on excess plural forms, remove them.
2006-09-04  Michael Natterer  <mitch@imendio.com>

	* ja.po
	* tr.po: msgfmt 0.15 chokes on excess plural forms, remove them.
2006-09-04 11:16:23 +00:00
Josep Puigdemont i Casamajó
efa03b3777 Fixed typos and stuff in Catalan translation. 2006-09-04 10:56:01 +00:00
Kostas Papadimas
4c841fdbf3 Updated Greek translation 2006-09-04 09:46:38 +00:00
Josep Puigdemont i Casamajó
661fa8a11a Updated Catalan translation. 2006-09-04 09:30:33 +00:00
Josep Puigdemont i Casamajó
1c5403b23e Updated Catalan translation. 2006-09-04 09:23:22 +00:00
Mugurel Tudor
676cf00c82 Updated Romanian translation by Mişu Moldovan <dumol@gnome.ro>
2006-09-04  Mugurel Tudor  <mugurelu@gnome.ro>

	* ro.po: Updated Romanian translation by
	Mişu Moldovan <dumol@gnome.ro>
2006-09-04 07:39:12 +00:00
Rajesh Ranjan
2c52434bee udapted hindi 2006-09-04 07:22:06 +00:00
Rahul Bhalerao
d893111cd7 Updated translation 2006-09-04 05:55:37 +00:00
Subhransu Behera
fa466a8dba Updated Oriya Translation 2006-09-04 05:54:49 +00:00
Subhransu Behera
6bcfa449c3 Added Strings for Updated Oriya Translation 2006-09-04 05:54:28 +00:00
Lucas Rocha
41e5a93efa Updated Brazilian Portuguese translation by Leonardo Ferreira Fontenelle
2006-09-04  Lucas Rocha  <lucasr@gnome.org>

	* pt_BR.po: Updated Brazilian Portuguese translation
	by Leonardo Ferreira Fontenelle <leo.fontenelle@gmail.com>
2006-09-04 05:05:30 +00:00
Subhransu Behera
3b887ee70a Updated Oriya Translation 2006-09-04 04:38:51 +00:00
Subhransu Behera
16ad4f3158 Added Strings for Updated Oriya Translation 2006-09-04 04:33:40 +00:00
Felix I
63165f9e76 Tamil Translation updated 2006-09-04 04:28:33 +00:00
Subhransu Behera
4381382c31 Updated Oriya Translation 2006-09-04 03:36:12 +00:00
Subhransu Behera
4592936719 Added Strings for Updated Oriya Translation 2006-09-04 03:35:52 +00:00
Josep Puigdemont i Casamajó
b910aefe38 Updated Catalan translation. 2006-09-03 23:57:52 +00:00
Subhransu Behera
d8605bd70a Updated Oriya Translation 2006-09-03 20:44:54 +00:00
Subhransu Behera
f7572cc6ec Added Strings for Updated Oriya Translation 2006-09-03 20:44:27 +00:00
Christophe Merlet
28310575d4 Updated French translation. 2006-09-03 18:48:16 +00:00
Kwok-Koon Cheung
1d7fcdaf6c Updated Chinese (Hong Kong) translation. Updated Chinese (Taiwan)
* zh_HK.po: Updated Chinese (Hong Kong) translation.
	* zh_TW.po: Updated Chinese (Taiwan) translation.
2006-09-03 18:21:42 +00:00
Subhransu Behera
90038e9f1b Updated Oriya Translation 2006-09-03 15:36:41 +00:00
Subhransu Behera
2902ac2b7b Added Strings for Updated Oriya Translation 2006-09-03 15:35:50 +00:00
Runa Bhattacharjee
13e73a97eb Added Entry for Bengali India Translation Updation 2006-09-03 14:16:51 +00:00
Runa Bhattacharjee
ca6415e2e5 Updated Bengali India Translation 2006-09-03 14:16:13 +00:00
Ani Peter
3bfbc93228 Updated Malayalam translation 2006-09-03 11:51:32 +00:00
Hendrik Richter
001078df1e Updated German translation.
2006-09-03  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.
2006-09-03 10:14:10 +00:00
Kostas Papadimas
34199573d7 Updated Greek translation 2006-09-03 07:04:11 +00:00
Matthias Clasen
3dc068d85e Fix a typo. (#354035, Mariano Suárez-Alvarez)
2006-09-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_class_init): Fix a typo.
	(#354035, Mariano Suárez-Alvarez)
2006-09-03 06:07:20 +00:00
Matthias Clasen
d86048284d handle displayname being NULL in some error paths 2006-09-03 05:31:21 +00:00
Åsmund Skjæveland
91afef3a6e Updated Norwegian Nynorsk translation.
2006-09-02  Åsmund Skjæveland  <aasmunds@fys.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.
2006-09-02 23:46:23 +00:00
Åsmund Skjæveland
8b1ac94b61 Updated Norwegian Nynorsk translation.
2006-09-03  Åsmund Skjæveland  <aasmunds@fys.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.
2006-09-02 23:42:02 +00:00
Åsmund Skjæveland
7b984a6b13 Updated Norwegian Nynorsk translation.
2006-09-02  Åsmund Skjæveland  <aasmunds@fys.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.
2006-09-02 18:15:48 +00:00
Kostas Papadimas
2ca3e82651 Updated Greek translation 2006-09-02 10:10:07 +00:00
Inaki Larranaga
585efae27e Updated Basque translation.
2006-09-02  Inaki Larranaga  <dooteo@euskalgnu.org>

	* eu.po: Updated Basque translation.
2006-09-02 09:13:37 +00:00
Subhransu Behera
4180f905ac Updated Oriya Translation 2006-09-02 02:58:36 +00:00
Subhransu Behera
67373466d0 Added Strings for Updated Oriya Translation 2006-09-02 02:56:26 +00:00
Abel Cheung
64c0648248 Added 'ang' 'dz' to ALL_LINGUAS.
2006-09-01  Abel Cheung  <abel@oaka.org>

	* configure.in: Added 'ang' 'dz' to ALL_LINGUAS.
2006-09-01 18:11:19 +00:00
Kwok-Koon Cheung
44356c97a6 Resurrected from gtk-2-4 branch.
* ang.po: Resurrected from gtk-2-4 branch.
2006-09-01 17:34:43 +00:00
Runa Bhattacharjee
a60bbbd8c5 Added Entry for Bengali India Translation Updation 2006-09-01 15:31:51 +00:00
Runa Bhattacharjee
8140a1f0d0 Updated Bengali India Translation 2006-09-01 15:31:35 +00:00
Runa Bhattacharjee
02c8458ba9 Added Entry for Bengali India Translation Updation 2006-09-01 04:39:14 +00:00
Runa Bhattacharjee
c4b0735767 Updated Bengali India Translation 2006-09-01 04:38:59 +00:00
Matthias Clasen
e130d50bdf Send printer-list-done on error.
2006-08-31  Matthias Clasen  <mclasen@redhat.com>

	* modules/printbackends/cups/gtkprintbackendcups.c (cups_request_printer_list_cb): Send printer-list-done on error.
2006-08-31 17:51:01 +00:00
Ani Peter
a203bebe44 Updated Malayalam translation 2006-08-31 11:15:41 +00:00
Felix I
c4474c62c4 Tamil Translation updated 2006-08-31 05:52:06 +00:00
Ani Peter
f06a9cb837 Updated Malayalam 2006-08-31 04:52:00 +00:00
Matic Zgur
b12c1748d8 Updated Slovenian translation.
2006-08-31  Matic Zgur  <mr.zgur@gmail.com>

	* sl.po: Updated Slovenian translation.
2006-08-30 22:33:02 +00:00
Gabor Kelemen
1e04b9eb04 Translation updated.
2006-08-30  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated.
2006-08-30 12:53:34 +00:00
Lucas Rocha
a033828c62 Small fix on Brazilian Portuguese translation.
2006-08-30  Lucas Rocha  <lucasr@gnome.org>

	* pt_BR.po: Small fix on Brazilian Portuguese translation.
2006-08-30 12:46:46 +00:00
Daniel Nylander
b72141606f Updated Swedish translation (again).
2006-08-29  Daniel Nylander <po@danielnylander.se>

	* sv.po: Updated Swedish translation (again).
2006-08-29 19:27:02 +00:00
Emmanuele Bassi
e0e8a51964 Backport from HEAD
2006-08-29  Emmanuele Bassi  <ebassi@gnome.org>

	Backport from HEAD

	* gtk/gtkrecentchoosermenu.c
	(gtk_recent_chooser_menu_set_current_uri): Break when an item
	is found and activated. (#353449, based on a patch from Jan Arne
	Petersen)
2006-08-29 18:48:46 +00:00
Paolo Borelli
aa3340afa1 add this file from HEAD to fix the build.
2006-08-29  Paolo Borelli  <pborelli@katamail.com>

	* tests/autotestfilesystem.c: add this file from HEAD to fix
	the build.
2006-08-29 15:36:37 +00:00
Daniel Nylander
2f080857e0 Updated Swedish translation.
2006-08-29  Daniel Nylander <po@danielnylander.se>

	* sv.po: Updated Swedish translation.
2006-08-29 06:17:25 +00:00
Matthias Clasen
78789a5e0a fix printer list polling 2006-08-28 17:52:35 +00:00
Michael Natterer
ced0be686f Merged from HEAD:
2006-08-28  Michael Natterer  <mitch@imendio.com>

	Merged from HEAD:

	* gtk/gtktextbufferserialize.c (serialize_text): don't write out
	</apply_tag> for tags that have already been closed by the logic
	which turns overlapping spans into XML-able trees. Fixes broken
	XML when there are overlapping tags in the buffer. Also free two
	leaked GLists and did some cleanup.

	* tests/Makefile.am
	* tests/testrichtext.c: new test which creates randomly tagged
	GtkTextBuffers and serializes/deserializes them.
2006-08-28 16:36:51 +00:00
Christophe Merlet
a66016df2c Updated French translation. 2006-08-27 23:40:37 +00:00
Hendrik Richter
c3b3696b5c Updated German translation.
2006-08-27  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.
2006-08-27 18:51:31 +00:00
Gintautas Miliauskas
3d99a27f0e Updated Lithuanian translation. 2006-08-27 13:11:30 +00:00
Josep Puigdemont i Casamajó
dc91cce4c2 Updated Catalan translation. 2006-08-26 21:39:40 +00:00
Theppitak Karoonboonyanan
4f9d9ef3bd Fixed plural strings.
2006-08-26  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Fixed plural strings.
2006-08-26 16:40:25 +00:00
Matthias Clasen
2b343d143f Don't leak pixbufs. (#352264, Ross Burton)
2006-08-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkstatusicon.c (gtk_status_icon_reset_image_data):
	Don't leak pixbufs.  (#352264, Ross Burton)
2006-08-26 06:26:05 +00:00
Matthias Clasen
2b0c63edda Don't leak PangoAttributes. (#352391, Paolo Borelli)
2006-08-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtklinkbutton.c (set_link_underline): Don't leak
	PangoAttributes.  (#352391, Paolo Borelli)
2006-08-26 06:16:12 +00:00
Matthias Clasen
fc092f6f08 Query range style properties only on range widgets. (#352277, Benjamin
2006-08-26  Matthias Clasen  <mclasen@redhat.com>

	* pixbuf-draw.c (reverse_engineer_stepper_box):
	Query range style properties only on range
	widgets.  (#352277, Benjamin Otte)
2006-08-26 06:00:58 +00:00
Matthias Clasen
482f74d636 Add an example of automatic scrolling, thanks to Yevgen Muntyan. (#351206)
2006-08-25  Matthias Clasen  <mclasen@redhat.com>

	* demos/gtk-demo/Makefile.am:
	* demos/gtk-demo/textscroll.c: Add an example of automatic
	scrolling, thanks to Yevgen Muntyan.  (#351206)
2006-08-26 02:44:39 +00:00
Artur Flinta
063ff75ae5 Updated Polish translation by GNOME PL Team.
2006-08-25  Artur Flinta  <aflinta@cvs.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.
2006-08-25 09:24:08 +00:00
Ilkka Tuohela
fdf9274476 Updated Finnish translation 2006-08-25 09:08:37 +00:00
Leonid Kanter
809358f3fa Updated Russian translation 2006-08-24 16:50:53 +00:00
Josep Puigdemont i Casamajó
152cb78d4d Updated Catalan translation. 2006-08-24 00:34:15 +00:00
Tor Lillqvist
67b2f9bdac Slight edit of my last entry. 2006-08-23 23:24:38 +00:00
Federico Mena Quintero
f9f34aef79 Renamed to gtk_file_system_create() so that it will get exported and we
2006-08-23  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkfilesystem.[ch] (_gtk_file_system_create): Renamed to
	gtk_file_system_create() so that it will get exported and we can
	use it in the test program.

	* gtk/gtk.symbols: Added gtk_file_system_create.

	* gtk/gtkfilechooserdefault.c (set_file_system_backend): Use
	gtk_file_system_create().

	* tests/autotestfilesystem.c: New file with automatic tests for
	the async callbacks and cancelation policy of GtkFileSystem.

	* tests/Makefile.am: Added autotestfilesystem.
2006-08-23 21:59:18 +00:00
Matthias Clasen
12382e191a fix printer options 2006-08-23 19:34:21 +00:00
Tor Lillqvist
8dc75116e1 Revert accidental translatable string change, use same string for warning
2006-08-23  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkfilesystemwin32.c (gtk_file_system_win32_make_path):
	Revert accidental translatable string change, use same string
	for warning as in gtkfilesystemunix.c.
2006-08-23 08:50:27 +00:00
Tor Lillqvist
153bfe9617 Fix logic at the end of strings.
2006-08-23  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkfilesystemwin32.c (_gtk_file_system_win32_path_compare):
	Fix logic at the end of strings.

	* gtk/gtkfilesystemwin32.c: Maintain a hash table of live
	handles and check that we have no outstanding handles at
	finalization time. (Copying what Matthias did for
	gtkfilesystemunix.c)
2006-08-23 08:31:02 +00:00
Matthias Clasen
e3a70e1790 Maintain a hash table of live handles and check that we have no
2006-08-23  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilesystemunix.c: Maintain a hash table
        of live handles and check that we have no outstanding
        handles at finalization time. (Copying what
        Federico did for gtkfilesystemgnomevfs.c)
2006-08-23 06:13:42 +00:00
Subhransu Behera
87fb4e55ba Updated Oriya Translation 2006-08-23 05:19:02 +00:00
Subhransu Behera
53c0a2e9e1 Added Strings for Updated Oriya Translation 2006-08-23 05:18:38 +00:00
509 changed files with 206304 additions and 142357 deletions

3211
ChangeLog

File diff suppressed because it is too large Load Diff

View File

@@ -4,7 +4,7 @@ Prerequisites
GTK+ requires the following packages:
- The GLib, Pango, ATK and cairo libraries, available at the same
location as GTK+. GTK+ 2.10.2 requires at least GLib 2.12,
location as GTK+. GTK+ 2.10.14 requires at least GLib 2.12,
Pango 1.13, ATK 1.9 and cairo 1.2.
- The TIFF, PNG, and JPEG image loading libraries. You most
@@ -18,8 +18,8 @@ GTK+ requires the following packages:
Simple install procedure
========================
% gzip -cd gtk+-2.10.2.tar.gz | tar xvf - # unpack the sources
% cd gtk+-2.10.2 # change to the toplevel directory
% gzip -cd gtk+-2.10.14.tar.gz | tar xvf - # unpack the sources
% cd gtk+-2.10.14 # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GTK+
[ Become root if necessary ]

View File

@@ -134,7 +134,11 @@ gdk-$(GDKTARGET)-2.0-uninstalled.pc: gdk-2.0-uninstalled.pc
cp gdk-2.0-uninstalled.pc gdk-$(GDKTARGET)-2.0-uninstalled.pc
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA= gdk-pixbuf-2.0.pc gdk-$(GDKTARGET)-2.0.pc gtk+-$(GDKTARGET)-2.0.pc gtk+-unix-print-2.0.pc
pkgconfig_DATA= gdk-pixbuf-2.0.pc gdk-$(GDKTARGET)-2.0.pc gtk+-$(GDKTARGET)-2.0.pc
if OS_UNIX
pkgconfig_DATA += gtk+-unix-print-2.0.pc
endif
DISTCLEANFILES = \
gtk+-unix-print-2.0.pc \

512
NEWS
View File

@@ -1,3 +1,515 @@
Overview of Changes from GTK+ 2.10.13 to 2.10.14
================================================
* Bugs fixed:
453365 gdk_pixbuf_get_file_info crashes on tif files
164809 Checkboxes with inconsistent status are not drawn properl...
426987 Panel freezes after upgrading gtk icon cache
435840 GTK_WIDGET_SAVED_STATE inconsistency
437281 gtk_button_set_image destroyes the old image
440040 Reference counting in GtkPrintOperation goes awry
448544 Refcount issues in GtkCellRendererSpin
451070 Broken CUPS SSL printing in gtk 2.10.13
112404 Problem with focus when closing transient window
* Updated translations:
Estonian (et)
Russian (ru)
Overview of Changes from GTK+ 2.10.12 to 2.10.13
================================================
* The GtkFileChooserDialog sizing code has been
refactored.
* The DirectFB backend has seen various fixes.
* Bugs fixed:
347883 do-overwrite-confirmation does nothing in 2.10
389603 GtkFileChooserWidget crashes when the window is too narrow
418047 GtkIconView sizing is very broken
420249 deadlock on print operation
437081 gdk_draw_pixbuf() accepts zero width or height and crashes
379213 gtkaboutdialog.h causes warnings with GCC and -Wshadow
420285 GtkFileChooserDialog resizes indefinetely in matchbox
424299 expand_folders=true shrinks dialog
424309 expand_folders=true makes dialog sticking out of screen
436721 Win32: gtk_window_resize does not redraw the child widget
437281 gtk_button_set_image destroyes the old image
437379 Please commit these patches in trunk and gtk-2-10
437879 gdk_draw_trapezoids fill wrong cairo path
438113 vertical separator requests wrong size
438261 Thai input does not work when NumLock/CapsLock is on
438750 gtk-cell-renderer-text doesn't wrap on font scale
439565 Crash in GtkIconView a11y code
440040 Reference counting in GtkPrintOperation goes awry
440511 xcursors.h: illegal initializing
440780 GtkAction set_short_label might be broken
441443 jpeg loader does not set error upon abortion
441863 Suboptimal submenu placement
444310 update_buttons_state on a bare assistant causes gtk+ to c...
445284 Custom (pixbuf etc.) cursor reverts to default cursor on ...
430746 Combobox might emit a signal during finalize
436269 GtkTreeView doesn't expand/collapse with Right/Left curso...
442326 Overview navigator traps mouse on wrong screen in dual mo...
445196 please backport cursor color patch to 2.10.x
435053 MS-Windows Theme top tabs rendered upside down for non-XP...
79585 API to change cursor color
* Translation updates:
Arabic (ar)
Assamese (as)
Brazilian Portugese (pt_BR)
British English (en_GB)
Bulgarian (bg)
French (fr)
Spanish (es)
Swedish (sv)
Thai (th)
Welsh (cy)
Overview of Changes from GTK+ 2.10.11 to 2.10.12
================================================
* Fixed bugs:
379414 file chooser warnings when changing path in the entry
418585 GtkFileChooserDefault sizing code is not DPI independent
419568 Crash in search if start with special letter
435062 build dies with icon cache validation
379399 Segfault to call gtk_print_operation_run twice.
387889 cups backend has problems when there are too many printers
418531 invalid read to gtkicontheme.c gtk_icon_theme_lookup_icon...
423916 crash in color scheme code
424042 Segmentation fault while quickly pressing Alt+arrows
415260 Protect against negative indices when setting values in G...
419171 XGetVisualInfo() may not set nxvisuals
128852 Gdk cursors don't look good on win32
344657 Ctrl-H doesn't toggle "Show Hidden Files" setting
345345 PrintOperation::paginate is not emitted for class handler
347567 GtkPrintOperation::end-print is not emitted if it's cance...
369112 gtk_ui_manager_add_ui should accept unnamed separator
392015 Selected menu item invisible on Windows Vista
399253 MS-Windows Theme Bottom Tab placement rendering glitches
399425 gtk_input_dialog_fill_axes() adds child to gtkscrolledwin...
403251 [patch] little memory leak in GtkPrintJob
403267 [patch] memory leak in GtkPageSetupUnixDialog
403470 MS-Windows Theme tab placement other than on top leaks a ...
404506 Windows system fonts that have multi-byte font names cann...
405089 Incorrect window placement for GtkEventBox private window
405515 Minor leak in gtkfilesystemmodel.c
405539 gdk_pixbuf_save() for PNG saver can return FALSE without ...
415681 gdk_window_clear_area includes an extra line and column o...
418219 GtkRecentChooser should apply filter before sorting and c...
418403 Scroll to printer after selecting it from settings
421985 _gtk_print_operation_platform_backend_launch_preview
421990 gtk_print_job_get_surface
421993 gtk_print_operation_init
423064 Conditional jump or move depends on uninitialised value(s...
423722 Fix printing header in gtk-demo
424168 gtk_print_operation_run on async preview
425655 Don't install gtk+-unix-print-2.0.pc on non-UNIX platforms
425786 GDK segfaults if XineramaQueryScreens fails
428665 Lpr Backend gets stuck in infinite loop during gtk_enumer...
429902 GtkPrintOperation leaks cairo contextes
431997 First delay of GdkPixbufAnimationIter is wrong
433242 Inconsistent scroll arrow position calculations
433972 Placing gtk.Expander inside a gtk.TextView() changes gtk....
434261 _gtk_toolbar_elide_underscores incorrectly handles some s...
383354 ctrl-L should make 'Location' entry disappear
418673 gtk_recent_manager_add_item
429732 gtk_accel_group_finalize accesses invalid memory
435028 WM_CLIENT_LEADER is wrong on the leader_window
431067 Background of the header window is not updated
338843 add recent files support inside the ui manager
148535 add drop shadow to menus, tooltips, etc. under Windows XP
* Updated translations:
Belarusian Latin (be@latin)
Dzonka (dz)
Greek (el)
Spanish (es)
Basque (eu)
Italian (it)
Galego (gl)
Dutch (nl)
Turkish (tr)
Overview of Changes from GTK+ 2.10.10 to 2.10.11
================================================
* Redo a GtkNotebook change that broke tabbed
browsing in Epiphany
Overview of Changes from GTK+ 2.10.9 to 2.10.10
===============================================
* Bugs fixed:
329450 Crash on IM switch ... (was already reported earlier)
406757 crash in Movie Player: Souhaite lire un DVD ave...
382565 GtkTextView invisible text crash
402453 crash to IA__gdk_x11_window_set_user_time
409101 invalid read to gtkicontheme.c insert_theme(), might caus...
413032 Locking issue with xcb in IA__gdk_display_sync
402131 Theme color scheme is sometimes ignored on theme switches
405327 io-jpeg can return FALSE without setting a GError
124045 GtkExpander should draw the focus around the arrow when t...
143213 shorcut selector on gtkfilechooser use too much horizonta...
151169 Filechooser comes up too big
153785 Filechooser expands horizontally
347106 tga images upside down
356515 [a11y] Orca unable to read items in Evolution "Select a F...
377164 Strange numbers in GtkRecentChooserMenu
386618 Resizing columns need focusing first
389765 Win32: Resizing a window does not repaint it often enough...
393599 Previous and Next menus not active in a folder with *.ico...
399907 Memory leak in gtk_page_setup dialog
402565 [PATCH]GtkPrintBackendFile leaks string
402806 GtkAboutDialog showing empty "contributors"
403139 Leak reported by valgrind
403255 gdk_pixbuf_loader_close returns TRUE but sets *error
403409 Add a helpful comment on GtkCellRendererText:alignment
403896 gtk+-2.10.9 fails to compile against win32api-3.8 due to ...
405539 gdk_pixbuf_save() for PNG saver can return FALSE without ...
405696 Make parent menu item insensitive if no items are to be s...
409357 leak in color scheme code
412221 Icons not working with Win32 file-system backend.
412596 Setting the colour scheme property of GtkSettings has no ...
413492 Minor build tweaks
413664 Dragging tab greys out chat windows
415645 Fix and clean up GtkCellRendererAccel
310522 Buttons flicker and redraw slowly
396899 glib mentions non-existing PATCH bugzilla keyword
408018 GtkTextBuffer memory leak
414875 Rendering the first icon triggers a style reset
325477 Just make File Chooser window bigger
414975 the popped up menu cannot have special theming
331369 Menu short cuts do not work
350988 crash with File Open in non-exisiting directory
364946 crash in gtk_tree_model: Adding new account, or entering ...
351671 textview should stop selecting when losing focus
382904 Application crashed in gtk+
385637 crash in testiconview
396703 crash in testnouiprint
396805 GtkTextView: crash on unsetting the GtkTextBuffer when in...
410565 gnome-terminal crashes editing current profile
335796 Gtk accelerator key event can't be passed to other widget...
356515 [a11y] Orca unable to read items in Evolution "Select a F...
416525 gtkfilesystemwin32.c: C99 declaration
372449 no need to emphasise the "Location" label
402144 spinbutton window background not reset on theme switch
* New and updated translations (ar,be@latin,bg,ca,de,
dz,el,en_GB,eo,fi,fr,gu,hu,ja,ko,lt,mk,ml,nb,nl,pl,
pt,pt_BR,ro,ru,sl,sq,sr,sr@Latn,sv,ta,th,uk,vi,zh_CN,
zh_HK,zh_TW)
Overview of Changes from GTK+ 2.10.8 to 2.10.9
==============================================
* Printing support:
- Fix build with cups 1.1
* Recent menu support:
- Fix a double-free bug that causes panel crashes
* Bugs fixed:
394190 crash when opening a gif with a manipulated header
363437 gnome-panel crash to gtkrecentmanager code
143460 Missed tablet button click/release events on win32 (wintab)
336819 GTK won't compile with mingw on linux
397330 GTK+ 2.10.7 source release does not have 'gtksocket-stub....
397581 Build is failing (typo)
397621 io-png.c: Don't load iconv for ASCII text chunks
397783 Initial focus in calendar
Overview of Changes from GTK+ 2.10.7 to 2.10.8
==============================================
* Bugs fixed:
393102 _gtk_modules_init assumes display is not opened instead o...
395326 Gedit crashed no open text documents
394855 impossible to build the directfb version
396161 GtkUIManager crashing on unknown action in ui-file
334168 Single '~' in location entry doesn't go to $HOME
363147 GTKFileChoser Does not Show Desktop and Home after Uncol...
390746 Custom tab title not set correctly on Microsoft Windows
393813 Segfault in gtk_text_view_set_border_window_size()
395316 File leak in gtk-demo
395830 Wrong named icon lookup when requested size matches two s...
396074 libgtk should link against Xfixes
396160 Memory leak in gtkselection
396175 wrong GtkWarning: Input method gtk-im-context-simple shou...
396470 Missing slider redraw in GtkRange if activate-slider is set
153828 Filechooser does not remember state
357303 Gnome Main Menu Recent Documents extended by long file na...
394000 Documentation error for GdkPixdata
392504 The crosshair mouse cursor look a bit funny
393255 GtkNotebook: Menu label centered instead of left aligned
395045 gtk_radio_button_focus: Harmless compiler warning
* Updated translations (bg,lt,sl)
Overview of Changes from GTK+ 2.10.6 to 2.10.7
==============================================
* GtkNotebook
- Tab reordering is a less intrusive
- Rendering fixes on win32
* GtkTreeView
- Column resizing works correctly in right-to-left languages
- Many scrolling bugs have been fixed
* GtkTextView:
- Improved scrolling during DND.
* GtkRecentManager is more robust against bad URIs
* Print support:
- The cups backend works with 'BrowseShortNames Off'
in the cups configuration
- Multi-valued options are properly passed to cups
- Fix build with cups 1.3
- A few IPP compliance issues have been fixed
- Make the lpr backend work on BSD
* Input methods:
- GtkEntryCompletion works with input methods
- The Thai input method has been replace by a functional
Thai and Lao input method based on libthai
* Accessibility support:
- GtkMessageDialog sets accessible name role explicitly
* Theme support:
- The semantics of the gtk-color-scheme setting has been
slightly changed. Values from rc files are still merged
together, but the X setting just overrides the prior table.
* GdkPixbuf:
- gdk_pixbuf_loader_write() now closes the loader when
returning FALSE, as documented
- The BMP loader supports more BMP variants, including
transparency and 10-bit channels.
* Bugs fixed:
122688 modal dialog popup + drag in progress = mouse freeze
315732 gnome-session crash on login
335622 Click Description field causes Evolution to crash.
357050 Crash replacing \n\n with \n or undoing after paste
359537 printing custom page
373466 crash in Text Editor:
388041 crash in Open Folder: nada
390873 crash in Text Editor: I had just opened it up ...
367529 gtk_combo_box_set_model(combo, NULL) generates warning wh...
381499 xdgmime requires getc_unlocked, darwin 6 lacks
349119 GtkUIManager crashes on wrong action names in an XML file
363437 gnome-panel crash to gtkrecentmanager code
366782 GtkTreeView "expand_all" can crash if a node's children a...
374378 Crash as GTK tries to blink cursor in defocused spinbutto...
381236 apps crash when using a mouse cursor theme as icon theme
320465 gtk_window_parse_geometry is almost completely broken
355350 Page Setup, Range and Copy information ignored
387170 Fairly large leak in gtk+
390159 printing with BSD lpr does not work properly
64998 GtkEntry - gtk_entry_set_text emits "changed" twice
92387 unfriendly drag-n-drop in textview - scrolls too fast
172188 io-bmp.c should sanity check the size given by the OffBit...
304482 GtkComboBoxEntry editable entry should be centered vertic...
315440 Problem with gtkpaned inside gtknotebook(mouse wheel over...
317064 GtkTextBuffer signals documentation
317080 Incorrect gtk.immodules might make GTK+ lose its translation
330683 Changing selection by up/down does not move to top/bottom.
335473 gtk_file_chooser_button_new_with_dialog() is too strict
337261 about dialogue initial focus
339752 Please use LOCALE_IFIRSTDAYOFWEEK for GtkCalendar on Windows
339756 LANG and LC_* environment variables should affect the C r...
349638 Cannot Compose (multi_key) polish l (or L) with stroke, "ł"
350342 Alt+Left/Right reorders tabs if not swallowed by Gecko
351678 Notebooks not with PositionType.Top drawn incorrectly
351679 Notebooks drawn with extra line below tab in MS-Windows t...
352276 Location of G_GNUC_INTERNAL breaks Solaris build
352435 GtkProgressBar text rendering errors
352738 gtk_tree_view_column_set_sort_indicator() fails to show a...
352795 configure.in: Bug in "checking Whether to write dependenc...
353438 Add tiny extra docs to gdk_beep
353709 GtkEntry shift-click inside selected text can behave funny
354495 Compose key doesn't work on location entry
357578 No grid lines are drawn
357974 Crashes (failed assertatin)
359231 validate_visible_area() sometimes passes mismatches (tree...
359542 scale capability for Unix print dialog box can not be set...
359581 GtkCellView clobbers parent's GdkWindow on style-set
360350 leak in gtk_radio_button_focus
362439 gtkicontheme::pixbuf_supports_svg leaks GList
362614 gtk_widget_show does not check for NULL arg
363191 gtk_tree_view_set_cursor() does not make row fully visible
364514 gtk leaks GDI objects on the win32 classic look and feel
364866 CUPS http_t type is becoming opaque
364868 GDI resource leak in GtkStatusIcon on win32
365031 gedit crashes with .recently-used.xbel file
365047 GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT is never used in Gt...
365388 gdk-pixbuf/Makefile.am: pixbufloader_pcx.def is not distr...
366548 Clicking removed Focus frame
370395 leak in gtk_rc_parse_icon_source
374420 symbolic colors not reset correctly
376094 Add gtk-doc on GtkCellRendererText::edited
376535 crashes in gtk_drag_source_info_destroy()
377349 gtk_status_icon_position_menu is not implemented for Win32
378852 Fixes for notebook tab detaching
379503 possible crash in gtk_default_draw_flat_box
379803 Bad g_return_if_fail in gdkinput-xfree.c
380421 Enabling extension events stops GDK_2BUTTON_PRESS
382314 gtkpagesetup leaks when setting new paper size
382369 some builtin papers have wrong display names
383373 child properties getter returns not-NULL array, but no sp...
383407 gtk_entry_set_text does not check for completion->priv->c...
383435 expose improvements to GtkNotebook
384168 gdk x11 backend doesn't build on Darwin
386694 set_active_iter is called on rows with children
388123 _gtk_file_chooser_embed_set_delegate() docs typo.
389183 Typo in API docs (s/expansive/expensive)
389194 mem leaks in gtkpagesetupunixdialog
390468 Unbreak GtkNotebook keybindings
390872 Scroll timeout isn't removed when widget destroyed
391229 gtkprintoperation-win32.c: windows.h with WIN32_LEAN_AND_...
172584 32 bpp windows bitmap files with 10-11-10 RGB masks are d...
323146 gtk_button_grab_notify clears button->in_button (shouldn't)
340135 page switching with keynav 'stuck'
341158 Gdk-pixbuf programs need glib, but are not linked with it
343330 gdk_pixbuf_new has redundant size checks
343956 drawing problem in gtkassistant
345094 gtk_notebook_insert_page can return wrong position
353962 Tabs are all the same height
360112 Wrong documentation for gtk_file_chooser_set_select_multiple
365364 gtksettings doesn't list printpreview settings
371756 GtkTreeView cursor not easily moved when set to GTK_SELEC...
378462 En Dash Compose Keystrokes Yield an Em Dash Character
389581 The interactive search window disappears during typing
358864 Shows "xterm" cursor when insensitive
385672 calendars draw arrows pointing to the right sligthly misp...
391523 IPP glitches in GtkPrint
391725 gtkicontheme::load_themes attempts to open dir after ENOENT
58389 Add some method of cancellation to GtkRange?
81031 immodules for Thai
152620 Small icon (hIconSm member)
159764 handles of GtkHandleBox are always drawn vertically
348108 Refleaks in gtk-demo
392227 GtkEntry::recompute_idle_func operates on widget->window=...
164494 Create folder text entry widget creates the folder when i...
332604 GtkLabel cannot have an alignment and be ellipsized in 2....
362406 Breakage from process_all_updates() in gtkwindow.c
392191 GtkFileChooser outputs assertions when create folder butt...
392315 gdk_drawable_get_size() call in unrealized GtkEntry
392457 GtkAssistant sometimes forgets to reset current_page whil...
392532 valgrindify use of XSendEvent
332266 gdk_draw_layout fails for coordinates >= 2^21
346616 Selected item not visible in the popup in list mode
392646 Fix cross-compilation
393124 misdrawing of tabs
393166 background box of the "bin_window" not placed correctly
* Updated translations (ar,as,bn_IN,ca,en_CA,en_GB,
es,et,fi,fr,gu,he,hi,hy,hu,ka,mk,ml,mr,nb,nl,
or,pl,pt,si,sq,sv,ta,th)
Overview of Changes from GTK+ 2.10.5 to 2.10.6
==============================================
* Bugs fixed:
358931 2.10.5 build issue due to a typo
357280 Compile crashes
359053 Reduce relocations
359052 gtk_print_settings_get_duplex() return wrong
value for one of vertical setting
Overview of Changes from GTK+ 2.10.4 to 2.10.5
==============================================
* Bugs fixed:
358405 gtk_file_chooser_button_new
353736 crash in Document Viewer: I had just viewed the pr...
354849 Unable to build gtk+ under Solaris 9
357280 Compile crashes
357454 leak in _gtk_menu_is_empty()
357566 [x11] Invalid unref for input windows
357791 gtk_tree_selection_get_selected_rows does not always fill model
358351 expander with multi-line label doesn't properly respond to mouse
* Updated translations (dz,et,gl,ka)
Overview of Changes from GTK+ 2.10.3 to 2.10.4
==============================================
* GtkFileChooser works better with remote bookmarks
* Windows theme engine improvements
* Bugs fixed:
116626 Use keyboard map contents to detect RTL groups
353772 Add doc blurb for GtkWidget::parent-set
353803 GtkEntry unneccesarily resets im context at commit
353914 Leak of to_reset list from _gtk_settings_reset_rc_values
354043 Renew the typeahead search timeout when using scrollwheel
354687 PLT-reduction stuff not quite working
354887 GtkFileChooserButton displays unnecessary authentication
dialogs
355308 gtk_tree_view_set_grid_lines notifies wrong property
355732 Combobox leaks treeview in list mode
355134 Type in string
355961 Typo in documentation for GtkPrintContext
340201 Enhancement of Wimp theme engine.
357132 Setting an RGBA colormap using gtk_widget_set_colormap()
on any widget at application start (before other widgets
are used) causes the running app to revert to the stock
icon theme
* Updated translations (bg,bn,bn_IN,de,dz,el,
en_GB,et,fi,gu,hi,id,ka,lt,lv,mk,nb,nl,nn,or,
ru,sl,sv,ta,th)
Overview of Changes from GTK+ 2.10.2 to 2.10.3
==============================================
* GtkFileChooser:
- Fix several Win32-specific problems
- Add automated tests for GtkFileSystem
- Make overwrite confirmation work again
* Printing support:
- Fix confusion between names and values in combo boxes
- Poll for printer list updates in the cups backend
* Add an automatic scrolling example to gtk-demo
* Bugs fixed:
354004 Use of g_warning("%s", NULL) after failing to
open a display
346751 symbolic colors can't be use in properties
352264 gtk_status_icon_set_from_pixbuf leaks the old
pixbuf
352391 small link button leak
353449 A break is missing in
gtk_recent_chooser_menu_set_current_uri
329604 do not scroll on copy to clipboard
354035 Typo in the GtkWidget::drag-drop doc blurb
* Translation updates (ang,bn_IN,ca,de,dz,el,eu,fi,
fr,hi,hu,it,ja,lt,ml,mr,nn,or,pl,pt_BR,ro,ru,sl,
sr,sr@Latn,sv,ta,th,tr,vi,zh_CN,zh_HK,zh_TW)
Overview of Changes from GTK+ 2.10.1 to 2.10.2
==============================================

2
README
View File

@@ -1,7 +1,7 @@
General Information
===================
This is GTK+ version 2.10.2. GTK+ is a multi-platform toolkit for
This is GTK+ version 2.10.14. GTK+ is a multi-platform toolkit for
creating graphical user interfaces. Offering a complete set of widgets,
GTK+ is suitable for projects ranging from small one-off projects to
complete application suites.

View File

@@ -1,45 +1,79 @@
The Win32 backend in GTK+ is not as stable or correct as the X11
one.
The Win32 backend in GTK+ is not as stable or correct as the X11 one.
For prebuilt runtime and developer packages see
http://www.gimp.org/win32/downloads.html .
There is also a gtk-1-3-win32-production branch of GTK+ that was
branched off from before the addition of the no-flicker and other
functionality that was new in GTK+ 2.0.0. The vesion number used for
that branch is 1.3.0. It corresponds most closely to GTK 1.2.7 on
Unix. For new code, you shouldn't be using that.
http://ftp.gnome.org/pub/gnome/binaries/win32/
Building GTK+ on Win32
======================
There are two ways to build GTK+ for win32.
First you obviously need developer packages for the compile-time
dependencies: Pango, atk, glib, gettext-runtime, libiconv, libpng,
zlib, libtiff at least. See
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies .
1) Use the autoconf-generated configure script, and the resulting
Makefiles (which use libtool and gcc to do the compilation). I use
this myself, but it can be hard to setup correctly.
After installing the dependencies, there are two ways to build GTK+
for win32.
Personally I run configure with:
CC='gcc -mpentium -fnative-struct' CPPFLAGS='-I/target/include' CFLAGS=-O2 LDFLAGS='-L/target/lib' ./configure --disable-static --prefix=/target --with-gdktarget=win32 --with-wintab=/src/wtkit126 --with-ie55=/src/workshop/ie55_lib --host=i386-pc-mingw32
1) GNU tools, ./configure && make install
-----------------------------------------
Then, in theory, you can just say "make", like on Unix. In reality,
there are a few hickups that require manual intervention, and it's
best to run make separately in each subdirectory. At least for me,
when libtool creates an .exe file, it puts the real .exe in the .libs
directory, and leaves a wrapper .exe in the work directory. For some
reason that wrapper doesn't work for me, it doesn't do anything. So, I
always do a "cp .libs/*.exe ." after running a make that has produced
some exes.
This requires you have mingw and MSYS.
Another issue is with the gdk-pixbuf.loaders file. It's probably best
to do a "make install" in the gdk-pixbuf directory, and let that set
up a mostly correct gdk-pixbuf.loaders in the target directory. Then
copy that back to the source directory. It's needed in gtk/stock-icons
where make runs gdk-pixbuf-csource.
Use the configure script, and the resulting Makefiles (which use
libtool and gcc to do the compilation). I use this myself, but it can
be hard to setup correctly.
Etc, you get the idea. It can be a bit of a pain.
The full script I run to build GTK+ 2.10 unpacked from a source
distribution is as below. This is from bulding GTK+ 2.10.9
2) Use the Microsoft compiler, cl and Make, nmake. Say nmake -f
MOD=gtk+
VER=2.10.9
THIS=$MOD-$VER
HEX=`echo $THIS | md5sum | cut -d' ' -f1`
TARGET=c:/devel/target/$HEX
DEPS="`/devel/src/tml/latest.sh glib atk cairo pango`"
sed -e 's/need_relink=yes/need_relink=no # no way --tml/' <ltmain.sh >ltmain.temp && mv ltmain.temp ltmain.sh
usedev
usemsvs6
MY_PKG_CONFIG_PATH=""
for D in $DEPS; do
PATH=/devel/dist/$D/bin:$PATH
MY_PKG_CONFIG_PATH=/devel/dist/$D/lib/pkgconfig:$MY_PKG_CONFIG_PATH
done
PKG_CONFIG_PATH=$MY_PKG_CONFIG_PATH:$PKG_CONFIG_PATH CC='gcc -mtune=pentium3 -mthreads' CPPFLAGS='-I/opt/gnu/include -I/opt/gnuwin32/include -I/opt/misc/include' LDFLAGS='-L/opt/gnu/lib -L/opt/gnuwin32/lib -L/opt/misc/lib -Wl,--enable-auto-image-base' LIBS=-lintl CFLAGS=-O2 ./configure --with-gdktarget=win32 --with-wintab=/devel/src/wtkit126 --with-ie55=/devel/src/workshop/ie55_lib --enable-debug=yes --disable-gtk-doc --disable-static --prefix=$TARGET &&
libtoolcacheize &&
unset MY_PKG_CONFIG_PATH &&
PATH=/devel/target/$HEX/bin:.libs:$PATH make install &&
(cd $TARGET/bin; strip --strip-unneeded *.dll *.exe) &&
(cd $TARGET/lib/gtk-2.0/2.10.0/loaders; strip --strip-unneeded *.dll) &&
(cd $TARGET/lib/gtk-2.0/2.10.0/immodules; strip --strip-unneeded *.dll) &&
(cd $TARGET/lib/gtk-2.0/2.10.0/engines; strip --strip-unneeded *.dll) &&
PATH=$TARGET/bin:$PATH gdk-pixbuf-query-loaders >$TARGET/etc/gtk-2.0/gdk-pixbuf.loaders &&
grep -v -E 'Automatically generated|Created by|LoaderDir =' <$TARGET/etc/gtk-2.0/gdk-pixbuf.loaders >$TARGET/etc/gtk-2.0/gdk-pixbuf.loaders.temp &&
mv $TARGET/etc/gtk-2.0/gdk-pixbuf.loaders.temp $TARGET/etc/gtk-2.0/gdk-pixbuf.loaders &&
grep -v -E 'Automatically generated|Created by|ModulesPath =' <$TARGET/etc/gtk-2.0/gtk.immodules >$TARGET/etc/gtk-2.0/gtk.immodules.temp &&
mv $TARGET/etc/gtk-2.0/gtk.immodules.temp $TARGET/etc/gtk-2.0/gtk.immodules &&
./gtk-zip.sh &&
(cd /devel/src/tml && zip /tmp/$MOD-dev-$VER.zip make/$THIS.make) &&
manifestify /tmp/$MOD*-$VER.zip
You should not just copy the above blindly. There are some things in
the script that are very specific to *my* build setup on *my* current
machine. For instance the "latest.sh" script, the "usedev" and
"usemsvs6" shell functions, the /devel/dist folder. The above script
is really just meant for reference, to give an idea. You really need
to understand what things like PKG_CONFIG_PATH are and set them up
properly after installing the dependencies before building GTK+.
As you see above, after running configure, one can just say "make
install", like on Unix. A post-build fix is needed, running
gdk-pixbuf-query-loaders once more to get a correct gdk-pixbuf.loaders
file.
2) Microsoft's tools
--------------------
Use the Microsoft compiler, cl and Make, nmake. Say nmake -f
makefile.msc in gdk and gtk. Be prepared to manually edit various
makefile.msc files, and the makefile snippets in build/win32.
@@ -47,10 +81,10 @@ Alternative 1 also generates Microsoft import libraries (.lib), if you
have lib.exe available. It might also work for cross-compilation from
Unix.
Note that I use method 1 myself. Hans Breuer has been taking care of
the MSVC makefiles. At times, we disagree a bit about various issues,
and for instance the makefile.msc files will not produce identically
named DLLs and import libraries as the "autoconfiscated" makefiles and
I use method 1 myself. Hans Breuer has been taking care of the MSVC
makefiles. At times, we disagree a bit about various issues, and for
instance the makefile.msc files might not produce identically named
DLLs and import libraries as the "autoconfiscated" makefiles and
libtool do. If this bothers you, you will have to fix the makefiles.
Using GTK+ on Win32
@@ -78,16 +112,17 @@ flag to configure if you use that. If you use nmake and you don't care
for Wintab, undefine HAVE_WINTAB in config.h.win32 and remove
references to the wntab32x library from the makefile before building.
ActiveIMM
=========
Active IMM
==========
If you want to build a GTK+ that supports ActiveIMM (the Input Method
Manager for non-EastAsia locales that can be used on Win9x/NT4), you
need the dimm.h header file. That is somewhat difficult to find, but
http://msdn.microsoft.com/downloads/samples/internet/wizard/ seems to
be a good place to look nowadays. If you use "autoconfiscated" build,
pass the --with-ie55 flag to configure specifying the location of the
ie55_lib directory created by downloading the IE5.5 headers and libs
from the above URL.
If you want to build a GTK+ that supports Active IMM (the Input Method
Manager than can be used in non-EastAsian versions of NT4 or Win9x),
you need the dimm.h header file. But that is rather pointless now as
both Win9x or NT4 have reached their end of life. Active IMM developer
bits are somewhat difficult to find, they were last found at
http://msdn.microsoft.com/downloads/samples/internet/wizard/ . If you
use "autoconfiscated" build, pass the --with-ie55 flag to configure
specifying the location of the ie55_lib directory created by
downloading the IE5.5 headers and libs from the above URL.
--Tor Lillqvist <tml@iki.fi>
--Tor Lillqvist <tml@iki.fi>, <tml@novell.com>

View File

@@ -12,10 +12,10 @@ AC_PREREQ(2.54)
m4_define([gtk_major_version], [2])
m4_define([gtk_minor_version], [10])
m4_define([gtk_micro_version], [3])
m4_define([gtk_micro_version], [15])
m4_define([gtk_version],
[gtk_major_version.gtk_minor_version.gtk_micro_version])
m4_define([gtk_interface_age], [3])
m4_define([gtk_interface_age], [15])
m4_define([gtk_binary_age],
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
# This is the X.Y used in -lgtk-FOO-X.Y
@@ -370,7 +370,8 @@ AC_ARG_ENABLE(explicit-deps,
AC_MSG_CHECKING([Whether to write dependencies into .pc files])
case $enable_explicit_deps in
auto)
deplibs_check_method=`(./libtool --config; echo eval echo \\$deplibs_check_method) | sh`
export SED
deplibs_check_method=`(./libtool --config; echo 'eval echo $deplibs_check_method') | sh`
if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
enable_explicit_deps=yes
else
@@ -402,7 +403,7 @@ if test "x$enable_rebuilds" = "xyes" && \
fi
AC_SUBST(REBUILD)
AC_CHECK_FUNCS(lstat mkstemp flockfile)
AC_CHECK_FUNCS(lstat mkstemp flockfile getc_unlocked)
# _NL_TIME_FIRST_WEEKDAY is an enum and not a define
AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
@@ -469,7 +470,7 @@ fi
# sure that both po/ and po-properties/ have .po files that correspond
# to your language. If you only add one to po/, the build will break
# in po-properties/.
ALL_LINGUAS="af am ar az az_IR be bg bn bn_IN br bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu hy ia id is it ja ka ko ku li lt lv mi mk ml mn mr ms nb ne nl nn nso or pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sr@ije sv ta te th tk tr tt uk ur uz uz@Latn vi wa xh yi zh_CN zh_HK zh_TW"
ALL_LINGUAS="af am ang ar as az az_IR be be@latin bg bn bn_IN br bs ca cs cy da de dz el en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu hy ia id is it ja ka ko ku li lt lv mi mk ml mn mr ms nb ne nl nn nso or pa pl pt pt_BR ro ru rw si sk sl sq sr sr@Latn sr@ije sv ta te th tk tr tt uk ur uz uz@Latn vi wa xh yi zh_CN zh_HK zh_TW"
AM_GLIB_GNU_GETTEXT
LIBS="$LIBS $INTLLIBS"
AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
@@ -728,6 +729,10 @@ fi
AC_MSG_RESULT($gtk_uxtheme_h)
# Checks for gdkspawn
AC_CHECK_HEADERS(crt_externs.h)
AC_CHECK_FUNCS(_NSGetEnviron)
##################################################
# Checks for gdk-pixbuf
##################################################
@@ -1032,7 +1037,8 @@ AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
if test $cross_compiling = yes; then
AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
if test x$GDK_PIXBUF_CSOURCE = xno; then
AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
if test x$GTK_UPDATE_ICON_CACHE = xno; then
REBUILD_PNGS=#
fi
fi
@@ -1042,7 +1048,7 @@ if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
AC_MSG_ERROR([
*** gtkbuiltincache.h is not in the tree, and cannot be built
*** because you don't have libpng, or (when cross-compiling) you
*** don't have a prebuilt gdk-pixbuf-csource on the host system.])
*** don't have a prebuilt gtk-update-icon-cache on the build system.])
fi
AC_SUBST(REBUILD_PNGS)
@@ -1343,6 +1349,7 @@ if test "x$gdktarget" = "xx11"; then
AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
X_PACKAGES="$X_PACKAGES xfixes"
GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
fi
if $have_base_x_pc ; then
@@ -1369,7 +1376,7 @@ if test "x$gdktarget" = "xwin32"; then
AC_SUBST(GDK_WIN32_EXTRA_CFLAGS)
fi
GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -Wl,-luuid"
GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid"
AM_CONDITIONAL(USE_WIN32, true)
else
AM_CONDITIONAL(USE_WIN32, false)
@@ -1413,14 +1420,15 @@ if test "x$gdktarget" = "xdirectfb"; then
DIRECTFB_REQUIRED_VERSION=0.9.24
AC_MSG_CHECKING(for DirectFB)
if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb ; then
if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
AC_MSG_RESULT(found)
GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
else
AC_MSG_ERROR([
*** DirectFB $DIRECTFB_REQUIRED_VERSION or newer is required. The latest
*** version of DirectFB is always available from http://www.directfb.org/.
*** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend
*** are required. The latest version of DirectFB is always available
*** from http://www.directfb.org/.
])
fi
@@ -1593,6 +1601,7 @@ CPPFLAGS="$gtk_save_cppflags"
#
# We are using gmodule-no-export now, but I'm leaving the stripping
# code in place for now, since pango and atk still require gmodule.
export SED
export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
if test -n "$export_dynamic"; then
GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`

View File

@@ -1,3 +1,51 @@
2007-07-16 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.14 ===
2007-06-12 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.13 ===
2007-05-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.12 ===
2007-03-14 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.11 ===
2007-03-12 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.10 ===
2007-01-22 Matthias Clasen <mclasen@redhat.com>
* === 2.10.9 ===
2007-01-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.8 ===
2007-01-05 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.7 ===
2006-10-03 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.6 ===
2006-10-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.5 ===
2006-09-22 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.4 ===
2006-09-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.3 ===
2006-08-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.2 ===

View File

@@ -31,6 +31,7 @@ demos = \
sizegroup.c \
stock_browser.c \
textview.c \
textscroll.c \
tree_store.c \
ui_manager.c

View File

@@ -467,6 +467,7 @@ do_appwindow (GtkWidget *do_widget)
"stock-id", GTK_STOCK_OPEN,
NULL);
gtk_action_group_add_action (action_group, open_action);
g_object_unref (open_action);
gtk_action_group_add_actions (action_group,
entries, n_entries,
window);

View File

@@ -300,6 +300,8 @@ display_changed_cb (GtkTreeSelection *selection,
GtkTreeModel *model;
GtkTreeIter iter;
if (info->current_display)
g_object_unref (info->current_display);
if (gtk_tree_selection_get_selected (selection, &model, &iter))
gtk_tree_model_get (model, &iter,
DISPLAY_COLUMN_DISPLAY, &info->current_display,
@@ -320,6 +322,8 @@ screen_changed_cb (GtkTreeSelection *selection,
GtkTreeModel *model;
GtkTreeIter iter;
if (info->current_screen)
g_object_unref (info->current_screen);
if (gtk_tree_selection_get_selected (selection, &model, &iter))
gtk_tree_model_get (model, &iter,
SCREEN_COLUMN_SCREEN, &info->current_screen,
@@ -562,6 +566,14 @@ destroy_info (ChangeDisplayInfo *info)
g_slist_free (tmp_list);
g_object_unref (info->size_group);
g_object_unref (info->display_model);
g_object_unref (info->screen_model);
if (info->current_display)
g_object_unref (info->current_display);
if (info->current_screen)
g_object_unref (info->current_screen);
g_free (info);
}

View File

@@ -74,6 +74,7 @@ create_stock_icon_store (void)
PIXBUF_COL, pixbuf,
TEXT_COL, label,
-1);
g_object_unref (pixbuf);
g_free (label);
}
else

View File

@@ -218,6 +218,16 @@ checkerboard_expose (GtkWidget *da,
return TRUE;
}
static void
close_window (void)
{
window = NULL;
if (pixmap)
g_object_unref (pixmap);
pixmap = NULL;
}
GtkWidget *
do_drawingarea (GtkWidget *do_widget)
{
@@ -233,7 +243,7 @@ do_drawingarea (GtkWidget *do_widget)
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Drawing Area");
g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window);
g_signal_connect (window, "destroy", G_CALLBACK (close_window), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
@@ -309,14 +319,9 @@ do_drawingarea (GtkWidget *do_widget)
}
if (!GTK_WIDGET_VISIBLE (window))
{
gtk_widget_show_all (window);
}
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -243,6 +243,18 @@ home_clicked (GtkToolItem *item,
TRUE);
}
static void close_window(void)
{
gtk_widget_destroy (window);
window = NULL;
g_object_unref (file_pixbuf);
file_pixbuf = NULL;
g_object_unref (folder_pixbuf);
folder_pixbuf = NULL;
}
GtkWidget *
do_iconview (GtkWidget *do_widget)
{
@@ -258,7 +270,7 @@ do_iconview (GtkWidget *do_widget)
gtk_window_set_title (GTK_WINDOW (window), "GtkIconView demo");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (close_window), NULL);
error = NULL;
if (!load_pixbufs (&error))

View File

@@ -575,6 +575,8 @@ load_file (const gchar *filename)
}
}
fclose (file);
fontify ();
g_string_free (buffer, TRUE);
@@ -782,6 +784,8 @@ create_tree (void)
gtk_widget_grab_focus (tree_view);
g_object_unref (model);
return box;
}
@@ -865,7 +869,7 @@ main (int argc, char **argv)
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "GTK+ Code Demos");
g_signal_connect (window, "destroy",
g_signal_connect_after (window, "destroy",
G_CALLBACK (gtk_main_quit), NULL);
hbox = gtk_hbox_new (FALSE, 0);
@@ -881,13 +885,15 @@ main (int argc, char **argv)
create_text (&info_buffer, FALSE),
gtk_label_new_with_mnemonic ("_Info"));
tag = gtk_text_buffer_create_tag (info_buffer, "title",
"font", "Sans 18",
NULL);
g_object_unref (info_buffer);
gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
create_text (&source_buffer, TRUE),
gtk_label_new_with_mnemonic ("_Source"));
tag = gtk_text_buffer_create_tag (info_buffer, "title",
"font", "Sans 18",
NULL);
tag = gtk_text_buffer_create_tag (source_buffer, "comment",
"foreground", "DodgerBlue",
@@ -910,6 +916,7 @@ main (int argc, char **argv)
"weight", PANGO_WEIGHT_BOLD,
"foreground", "DarkGoldenrod4",
NULL);
g_object_unref (source_buffer);
gtk_window_set_default_size (GTK_WINDOW (window), 600, 400);
gtk_widget_show_all (window);

View File

@@ -61,8 +61,9 @@ draw_page (GtkPrintOperation *operation,
PrintData *data = (PrintData *)user_data;
cairo_t *cr;
PangoLayout *layout;
gdouble width, text_height;
gint line, i, layout_height;
gint text_width, text_height;
gdouble width;
gint line, i;
PangoFontDescription *desc;
gchar *page_str;
@@ -85,21 +86,25 @@ draw_page (GtkPrintOperation *operation,
pango_font_description_free (desc);
pango_layout_set_text (layout, data->filename, -1);
pango_layout_set_width (layout, width);
pango_layout_set_alignment (layout, PANGO_ALIGN_CENTER);
pango_layout_get_size (layout, NULL, &layout_height);
text_height = (gdouble)layout_height / PANGO_SCALE;
pango_layout_get_pixel_size (layout, &text_width, &text_height);
cairo_move_to (cr, width / 2, (HEADER_HEIGHT - text_height) / 2);
if (text_width > width)
{
pango_layout_set_width (layout, width);
pango_layout_set_ellipsize (layout, PANGO_ELLIPSIZE_START);
pango_layout_get_pixel_size (layout, &text_width, &text_height);
}
cairo_move_to (cr, (width - text_width) / 2, (HEADER_HEIGHT - text_height) / 2);
pango_cairo_show_layout (cr, layout);
page_str = g_strdup_printf ("%d/%d", page_nr + 1, data->num_pages);
pango_layout_set_text (layout, page_str, -1);
g_free (page_str);
pango_layout_set_alignment (layout, PANGO_ALIGN_RIGHT);
cairo_move_to (cr, width - 2, (HEADER_HEIGHT - text_height) / 2);
pango_layout_set_width (layout, -1);
pango_layout_get_pixel_size (layout, &text_width, &text_height);
cairo_move_to (cr, width - text_width - 4, (HEADER_HEIGHT - text_height) / 2);
pango_cairo_show_layout (cr, layout);
g_object_unref (layout);

200
demos/gtk-demo/textscroll.c Normal file
View File

@@ -0,0 +1,200 @@
/* Text Widget/Automatic scrolling
*
* This example demonstrates how to use the gravity of
* GtkTextMarks to keep a text view scrolled to the bottom
* while appending text.
*/
#include <gtk/gtk.h>
#include "demo-common.h"
/* Scroll to the end of the buffer.
*/
static gboolean
scroll_to_end (GtkTextView *textview)
{
GtkTextBuffer *buffer;
GtkTextIter iter;
GtkTextMark *mark;
char *spaces;
static int count;
buffer = gtk_text_view_get_buffer (textview);
/* Get "end" mark. It's located at the end of buffer because
* of right gravity
*/
mark = gtk_text_buffer_get_mark (buffer, "end");
gtk_text_buffer_get_iter_at_mark (buffer, &iter, mark);
/* and insert some text at its position, the iter will be
* revalidated after insertion to point to the end of inserted text
*/
spaces = g_strnfill (count++, ' ');
gtk_text_buffer_insert (buffer, &iter, "\n", -1);
gtk_text_buffer_insert (buffer, &iter, spaces, -1);
gtk_text_buffer_insert (buffer, &iter,
"Scroll to end scroll to end scroll "
"to end scroll to end ",
-1);
g_free (spaces);
/* Now scroll the end mark onscreen.
*/
gtk_text_view_scroll_mark_onscreen (textview, mark);
/* Emulate typewriter behavior, shift to the left if we
* are far enough to the right.
*/
if (count > 150)
count = 0;
return TRUE;
}
/* Scroll to the bottom of the buffer.
*/
static gboolean
scroll_to_bottom (GtkTextView *textview)
{
GtkTextBuffer *buffer;
GtkTextIter iter;
GtkTextMark *mark;
char *spaces;
static int count;
buffer = gtk_text_view_get_buffer (textview);
/* Get end iterator */
gtk_text_buffer_get_end_iter (buffer, &iter);
/* and insert some text at it, the iter will be revalidated
* after insertion to point to the end of inserted text
*/
spaces = g_strnfill (count++, ' ');
gtk_text_buffer_insert (buffer, &iter, "\n", -1);
gtk_text_buffer_insert (buffer, &iter, spaces, -1);
gtk_text_buffer_insert (buffer, &iter,
"Scroll to bottom scroll to bottom scroll "
"to bottom scroll to bottom",
-1);
g_free (spaces);
/* Move the iterator to the beginning of line, so we don't scroll
* in horizontal direction
*/
gtk_text_iter_set_line_offset (&iter, 0);
/* and place the mark at iter. the mark will stay there after we
* insert some text at the end because it has right gravity.
*/
mark = gtk_text_buffer_get_mark (buffer, "scroll");
gtk_text_buffer_move_mark (buffer, mark, &iter);
/* Scroll the mark onscreen.
*/
gtk_text_view_scroll_mark_onscreen (textview, mark);
/* Shift text back if we got enough to the right.
*/
if (count > 40)
count = 0;
return TRUE;
}
static guint
setup_scroll (GtkTextView *textview,
gboolean to_end)
{
GtkTextBuffer *buffer;
GtkTextIter iter;
buffer = gtk_text_view_get_buffer (textview);
gtk_text_buffer_get_end_iter (buffer, &iter);
if (to_end)
{
/* If we want to scroll to the end, including horizontal scrolling,
* then we just create a mark with right gravity at the end of the
* buffer. It will stay at the end unless explicitely moved with
* gtk_text_buffer_move_mark.
*/
gtk_text_buffer_create_mark (buffer, "end", &iter, FALSE);
/* Add scrolling timeout. */
return g_timeout_add (50, (GSourceFunc) scroll_to_end, textview);
}
else
{
/* If we want to scroll to the bottom, but not scroll horizontally,
* then an end mark won't do the job. Just create a mark so we can
* use it with gtk_text_view_scroll_mark_onscreen, we'll position it
* explicitely when needed. Use left gravity so the mark stays where
* we put it after inserting new text.
*/
gtk_text_buffer_create_mark (buffer, "scroll", &iter, TRUE);
/* Add scrolling timeout. */
return g_timeout_add (100, (GSourceFunc) scroll_to_bottom, textview);
}
}
static void
remove_timeout (GtkWidget *window,
gpointer timeout)
{
g_source_remove (GPOINTER_TO_UINT (timeout));
}
static void
create_text_view (GtkWidget *hbox,
gboolean to_end)
{
GtkWidget *swindow;
GtkWidget *textview;
guint timeout;
swindow = gtk_scrolled_window_new (NULL, NULL);
gtk_box_pack_start_defaults (GTK_BOX (hbox), swindow);
textview = gtk_text_view_new ();
gtk_container_add (GTK_CONTAINER (swindow), textview);
timeout = setup_scroll (GTK_TEXT_VIEW (textview), to_end);
/* Remove the timeout in destroy handler, so we don't try to
* scroll destroyed widget.
*/
g_signal_connect (textview, "destroy",
G_CALLBACK (remove_timeout),
GUINT_TO_POINTER (timeout));
}
GtkWidget *
do_textscroll (GtkWidget *do_widget)
{
static GtkWidget *window = NULL;
if (!window)
{
GtkWidget *hbox;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
gtk_window_set_default_size (GTK_WINDOW (window), 600, 400);
hbox = gtk_hbox_new (TRUE, 6);
gtk_container_add (GTK_CONTAINER (window), hbox);
create_text_view (hbox, TRUE);
create_text_view (hbox, FALSE);
}
if (!GTK_WIDGET_VISIBLE (window))
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);
return window;
}

View File

@@ -183,10 +183,12 @@ do_ui_manager (GtkWidget *do_widget)
ui = gtk_ui_manager_new ();
gtk_ui_manager_insert_action_group (ui, actions, 0);
g_object_unref (actions);
gtk_window_add_accel_group (GTK_WINDOW (window),
gtk_ui_manager_get_accel_group (ui));
gtk_window_set_title (GTK_WINDOW (window), "UI Manager");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
if (!gtk_ui_manager_add_ui_from_string (ui, ui_info, -1, &error))
{
@@ -223,6 +225,7 @@ do_ui_manager (GtkWidget *do_widget)
gtk_widget_grab_default (button);
gtk_widget_show_all (window);
g_object_unref (ui);
}
else
{

View File

@@ -1,3 +1,67 @@
2007-07-16 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.14 ===
2007-06-12 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.13 ===
2007-05-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.12 ===
2007-03-14 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.11 ===
2007-03-12 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.10 ===
2007-01-22 Matthias Clasen <mclasen@redhat.com>
* === 2.10.9 ===
2007-01-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.8 ===
2007-01-07 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf/gdk-pixbuf-sections.txt: Correct the include
for GdkPixdata. (#394000, Samuel Cormier-Iijima)
2007-01-05 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.7 ===
2006-10-03 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.6 ===
2006-10-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.5 ===
2006-09-22 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.4 ===
2006-09-22 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkprintcontext.sgml:
* gtk/tmpl/gtkpagesetup.sgml: Apply a patch
to fix some typos. (#355961, Claudio Saavedra)
2006-09-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.3 ===
2006-08-25 Matthias Clasen <mclasen@redhat.com>
* gtk/question_index.sgml: Rewrite the answer for
automatic scrolling.
2006-08-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.2 ===

View File

@@ -89,6 +89,7 @@ gdk_pixbuf_copy
</SECTION>
<SECTION>
<INCLUDE>gdk-pixbuf/gdk-pixdata.h</INCLUDE>
<FILE>inline</FILE>
GdkPixdata
GdkPixdataType

View File

@@ -237,6 +237,7 @@ Attributes to use for a newly-created window.
@wmclass_name: don't use (see gtk_window_set_wmclass())
@wmclass_class: don't use (see gtk_window_set_wmclass())
@override_redirect: %TRUE to bypass the window manager
@type_hint: a hint of the function of the window
<!-- ##### ENUM GdkWindowAttributesType ##### -->
<para>
@@ -256,6 +257,7 @@ corresponding flag in #GdkWindowAttributesType.
@GDK_WA_VISUAL: Honor the visual field
@GDK_WA_WMCLASS: Honor the wmclass_class and wmclass_name fields
@GDK_WA_NOREDIR: Honor the override_redirect field
@GDK_WA_TYPE_HINT: Honor the type_hint field
<!-- ##### FUNCTION gdk_window_new ##### -->
<para>

View File

@@ -757,18 +757,21 @@ How do I make a text view scroll to the end of the buffer automatically ?
<answer>
<para>
The "insert" <link linkend="GtkTextMark">mark</link> marks the insertion point
where gtk_text_buffer_insert() inserts new text into the buffer. The text is inserted
<emphasis>before</emphasis> the "insert" mark, so that it generally stays
at the end of the buffer. If it gets explicitly moved to some other position,
e.g. when the user selects some text, use gtk_text_buffer_move_mark() to set it to
the desired location before inserting more text. The "insert" mark of a buffer can be
obtained with gtk_text_buffer_get_insert().
A good way to keep a text buffer scrolled to the end is to place a
<link linkend="GtkTextMark">mark</link> at the end of the buffer, and
give it right gravity. The gravity has the effect that text inserted
at the mark gets inserted <emphasis>before</emphasis>, keeping the mark
at the end.
</para>
<para>
To ensure that the end of the buffer remains visible, use
gtk_text_view_scroll_to_mark() to scroll to the "insert" mark after inserting new text.
gtk_text_view_scroll_to_mark() to scroll to the mark after
inserting new text.
</para>
<para>
The gtk-demo application contains an example of this technique.
</para>
</answer>
</qandaentry>

View File

@@ -877,12 +877,78 @@ You may not attach these to signals created with the
</para>
<!-- ##### ARG GtkFileChooser:action ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:do-overwrite-confirmation ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:extra-widget ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:file-system ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:file-system-backend ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:filter ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:local-only ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:preview-widget ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:preview-widget-active ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:select-multiple ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:show-hidden ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:use-preview-label ##### -->
<para>
</para>
<!-- ##### ENUM GtkFontFilterType ##### -->
<para>
A set of bit flags used to specify the filter being set
@@ -1164,6 +1230,66 @@ after other user handlers and the default handler.
</para>
<!-- ##### ARG GtkRecentChooser:filter ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:limit ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:local-only ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:recent-manager ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:select-multiple ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:show-icons ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:show-not-found ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:show-private ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:show-tips ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:sort-type ##### -->
<para>
</para>
<!-- ##### ARG GtkScrolledWindow:shadow ##### -->
<para>

View File

@@ -381,10 +381,12 @@ link is activated.
</para>
@about: the #GtkAboutDialog in which the link was activated
@link: the URL or email address to whiche the activated link points
@link_:
@data: user data that was passed when the function was registered
with gtk_about_dialog_set_email_hook() or
gtk_about_dialog_set_url_hook()
<!-- # Unused Parameters # -->
@link: the URL or email address to whiche the activated link points
<!-- ##### FUNCTION gtk_about_dialog_set_email_hook ##### -->

View File

@@ -672,61 +672,6 @@ gtk_widget_destroy (chooser);
@filechooser: the object which received the signal.
<!-- ##### ARG GtkFileChooser:action ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:do-overwrite-confirmation ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:extra-widget ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:file-system-backend ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:filter ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:local-only ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:preview-widget ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:preview-widget-active ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:select-multiple ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:show-hidden ##### -->
<para>
</para>
<!-- ##### ARG GtkFileChooser:use-preview-label ##### -->
<para>
</para>
<!-- ##### ENUM GtkFileChooserAction ##### -->
<para>
Describes whether a #GtkFileChooser is being used to open

View File

@@ -95,9 +95,10 @@ clicked.
</para>
@button: the #GtkLinkButton which was clicked
@link: the URI to which the clicked #GtkLinkButton points
@link_:
@user_data:
<!-- # Unused Parameters # -->
@link: the URI to which the clicked #GtkLinkButton points
@data: user data that was passed when the function was registered
with gtk_link_button_set_uri_hook()

View File

@@ -46,6 +46,7 @@ will be a popup menu allowing the users to switch pages.
@notebook: the object which received the signal.
@arg1:
@Returns:
<!-- ##### SIGNAL GtkNotebook::focus-tab ##### -->
<para>
@@ -99,6 +100,7 @@ will be a popup menu allowing the users to switch pages.
@notebook: the object which received the signal.
@arg1:
@Param3:
@Returns:
<!-- ##### SIGNAL GtkNotebook::select-page ##### -->
<para>

View File

@@ -8,7 +8,7 @@ Stores page setup information
<para>
A GtkPageSetup object stores the page size, orientation and margins.
The idea is that you can get one of these from the page setup dialog
and then pass it to the #GtkPrittntOperation when printing.
and then pass it to the #GtkPrintOperation when printing.
The benefit of splitting this out of the #GtkPrintSettings is that
these affect the actual layout of the page, and thus need to be set
long before user prints.

View File

@@ -29,7 +29,7 @@ draw_page (GtkPrintOperation *operation,
PangoLayout *layout;
PangoFontDescription *desc;
cr = gtk_print_context_get_cairo (context);
cr = gtk_print_context_get_cairo_context (context);
/* Draw a red rectangle, as wide as the paper (inside the margins) */
cairo_set_source_rgb (cr, 1.0, 0, 0);

View File

@@ -45,56 +45,6 @@ Recently used files are supported since GTK+ 2.10.
@recentchooser: the object which received the signal.
<!-- ##### ARG GtkRecentChooser:filter ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:limit ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:local-only ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:recent-manager ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:select-multiple ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:show-icons ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:show-not-found ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:show-private ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:show-tips ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:sort-type ##### -->
<para>
</para>
<!-- ##### STRUCT GtkRecentChooserIface ##### -->
<para>

View File

@@ -95,6 +95,7 @@ only be accessed using the functions below.
@scrolledwindow: the object which received the signal.
@arg1:
@arg2:
@Returns:
<!-- ##### ARG GtkScrolledWindow:hadjustment ##### -->
<para>

View File

@@ -66,7 +66,6 @@ low-level functions for accessing the underlying windowing functions
(Xlib in the case of the X windows system), and gdk-pixbuf, a library for
client-side image manipulation.</para>
</para>
<para>GTK is essentially an object oriented application programmers
interface (API). Although written completely in C, it is implemented
using the idea of classes and callback functions (pointers to

View File

@@ -1,3 +1,217 @@
2007-07-16 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.14 ===
2007-07-16 Matthias Clasen <mclasen@redhat.com>
Merge from trunk:
* io-tiff.c: Revert the last change, it was wrong
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Redo the last
change in a different way.
2007-07-03 Matthias Clasen <mclasen@redhat.com>
Merge from trunk:
* io-tiff.c (tiff_image_parse): Always set an error
when returning NULL. (453365, Michael Chudobiak)
2007-07-03 Matthias Clasen <mclasen@redhat.com>
Merge from trunk:
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Be
more careful when calling g_propagate_error(). (#453365,
Michael Chudobiak)
2007-06-12 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.13 ===
2007-05-30 Chris Wilson <chris@chris-wilson.co.uk>
* io-jpeg.c (gdk_pixbuf__jpeg_image_stop_load):
Supply the current GError for fatal_error_handler(). (#441443)
2007-05-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.12 ===
2007-04-29 Matthias Clasen <mclasen@redhat.com>
* io-jpeg.c: Remove a pointless check from the previous
commit that added a new string.
2007-04-28 Matthias Clasen <mclasen@redhat.com>
Merge from trunk:
* io-png.c:
* io-jpeg.c: Accept unknown parameters with a warning
when saving. (#405539, Daniel Atallah)
2007-04-25 Matthias Clasen <mclasen@redhat.com>
Merge from trunk:
* gdk-pixbuf-simple-anim.c (gdk_pixbuf_simple_anim_add_frame):
Don't double the delay time of the first frame. (#431997,
Bj<42>rn Lindqvist)
2007-03-14 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.11 ===
2007-03-12 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.10 ===
2007-03-06 Tor Lillqvist <tml@novell.com>
* Makefile.am: Further fixes for building on Win32 outside
srcdir. (#413492, Mathias Hasselmann)
2007-03-05 Matthias Clasen <mclasen@redhat.com>
Merge from trunk:
* io-tga.c: (gdk_pixbuf__tga_stop_load): Flip rle-encoded
images even if they haven't been completely loaded. (#347106)
2007-02-27 Felix Riemann <friemann@svn.gnome.org>
* io-ico.c: (fill_info): Add image/x-ico to supported mime types.
Fixes bug #393599.
2007-02-16 Matthias Clasen <mclasen@redhat.com>
Merged from trunk:
* io-png.c: Don't leak in the error path. (#405539, Daniel Atallah)
2007-02-07 Chris Wilson <chris@chris-wilson.co.uk>
* io-jpeg.c: (gdk_pixbuf__jpeg_image_load),
(gdk_pixbuf__jpeg_image_load_increment): Set the GError
if the image is zero length. (#405327)
2007-02-06 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Protect
against stop_load begin broken. (#403255, Lucas Mazzardo Veloso)
2007-01-22 Matthias Clasen <mclasen@redhat.com>
* === 2.10.9 ===
2007-01-21 Matthias Clasen <mclasen@redhat.com>
* io-gif.c (gdk_pixbuf__gif_image_stop_load): Return an
error if we didn't successfully load a frame. (#394190,
Felix Riemann)
2007-01-17 Michael Natterer <mitch@imendio.com>
Patch taken from maemo-gtk (merged from trunk):
* io-png.c (png_text_to_pixbuf_option): don't call g_convert() on
ASCII strings.
(png_info_callback): set an error when the size_func would scale
the pixbuf away completely.
2007-01-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.8 ===
2007-01-16 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Just
call gdk_pixbuf_loader_close to close the loader in
the error case. Fixes memory leaks in the error case,
pointed out by David Ne<4E>as.
2007-01-05 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.7 ===
2007-01-04 Matthias Clasen <mclasen@redhat.com>
* io-bmp.c (OneLine32): Fix a warning
2006-12-22 Matthias Clasen <mclasen@redhat.com>
* io-bmp.c (decode_bitmasks): Handle bmps
with more than 8 bits per channel. (#172584,
David Costanzo)
* io-bmp.c: Handle offsets more carefully. (#172188,
David Costanzo)
* io-bmp.c: Handle v5 and OS/2 v2 bmps.
* io-bmp.c: Handle alpha masks in v4 and v5 bmps.
2006-12-21 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Emit
the closed signal when closing the loader, pointed out
by David Necas.
2006-12-21 Matthias Clasen <mclasen@redhat.com>
* io-gif.c (gif_get_lzw): Handle invalid gif animations
a little bit more robustly. (#357974, Vassilis Pandis,
patch by Felix Riemann)
* gdk-pixbuf-data.c (gdk_pixbuf_new_from_data):
* gdk-pixbuf.c (gdk_pixbuf_new): Remove redundant size
checks, and document that width, height must be > 0.
(#343330, Felix Riemann)
* Makefile.am: Link against GLib. (#341158, Alexey Rusakov)
2006-12-19 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Don't
spew a warning if the printer is already closed.
2006-12-09 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Behave as
documented and close the loader when returning FALSE.
2006-10-29 Tor Lillqvist <tml@novell.com>
* pixbufloader_*.def
* Makefile.am (EXTRA_DIST): Remove pixbufloader_*.def, they are
not used. (#365388) They were all identical, and exported just two
symbols, so if somebody needs them for a MSVC build that doesn't
use built-in modules it's trivial to hack makefile.msc to produce
a common .def file for the loaders. The two symbols that need to
be exported are fill_info and fill_vtable.
2006-10-03 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.6 ===
2006-10-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.5 ===
2006-09-22 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.4 ===
2006-09-06 Matthias Clasen <mclasen@redhat.com>
* io-pnm.c: Simplify and fix reading of ASCII images.
2006-09-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.3 ===
2006-08-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.2 ===

View File

@@ -6,19 +6,19 @@ no_undefined = -no-undefined
endif
if OS_WIN32
gdk_pixbuf_def = $(srcdir)/gdk_pixbuf.def
gdk_pixbuf_symbols = -export-symbols $(gdk_pixbuf_def)
gdk_pixbuf_def = gdk_pixbuf.def
gdk_pixbuf_symbols = -export-symbols gdk_pixbuf.def
gdk_pixbuf_win32_res = gdk_pixbuf-win32-res.o
gdk_pixbuf_win32_res_ldflag = -Wl,$(gdk_pixbuf_win32_res)
gdk_pixbuf_win32_res_ldflag = -Wl,gdk_pixbuf-win32-res.o
gdk_pixbuf-win32-res.o : gdk_pixbuf.rc
$(WINDRES) gdk_pixbuf.rc $@
install-def-file:
$(INSTALL) $(gdk_pixbuf_def) $(DESTDIR)$(libdir)/gdk_pixbuf-2.0.def
$(INSTALL) gdk_pixbuf.def $(DESTDIR)$(libdir)/gdk_pixbuf-$(GTK_API_VERSION).def
uninstall-def-file:
-rm $(DESTDIR)$(libdir)/gdk_pixbuf-2.0.def
-rm $(DESTDIR)$(libdir)/gdk_pixbuf-$(GTK_API_VERSION).def
else
install-def-file:
uninstall-def-file:
@@ -50,7 +50,7 @@ gdk-pixbuf-aliasdef.c: gdk-pixbuf.symbols
$(PERL) $(srcdir)/makegdkpixbufalias.pl -def < $(srcdir)/gdk-pixbuf.symbols > gdk-pixbuf-aliasdef.c
if OS_LINUX
TESTS = abicheck.sh
TESTS = abicheck.sh pltcheck.sh
endif
lib_LTLIBRARIES = \
@@ -273,7 +273,6 @@ INCLUDES = \
-DGTK_SYSCONFDIR=\"$(sysconfdir)\" \
-DGTK_VERSION=\"$(GTK_VERSION)\" \
-DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\" \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGTK_PREFIX=\"$(prefix)\" \
$(INCLUDED_LOADER_DEFINE) \
$(GTK_DEBUG_FLAGS) \
@@ -281,7 +280,7 @@ INCLUDES = \
-DGDK_PIXBUF_ENABLE_BACKEND
AM_CPPFLAGS = "-DPIXBUF_LIBDIR=\"$(loaderdir)\"" "-DBUILT_MODULES_DIR=\"$(srcdir)/.libs\""
LDADDS = libgdk_pixbuf-$(GTK_API_VERSION).la
LDADDS = libgdk_pixbuf-$(GTK_API_VERSION).la $(GLIB_LIBS)
noinst_PROGRAMS = test-gdk-pixbuf
test_gdk_pixbuf_LDADD = $(LDADDS)
@@ -433,23 +432,11 @@ EXTRA_DIST = \
gdk-pixbuf.symbols \
makegdkpixbufalias.pl \
abicheck.sh \
pltcheck.sh \
gdk_pixbuf.def \
gdk_pixbuf.rc \
gdk-pixbuf-marshal.c \
gdk-pixbuf-marshal.list \
pixbufloader_ico.def \
pixbufloader_ani.def \
pixbufloader_pnm.def \
pixbufloader_xpm.def \
pixbufloader_bmp.def \
pixbufloader_jpeg.def \
pixbufloader_ras.def \
pixbufloader_gif.def \
pixbufloader_png.def \
pixbufloader_tiff.def \
pixbufloader_wbmp.def \
pixbufloader_xbm.def \
pixbufloader_tga.def \
gen-color-table.pl
if CROSS_COMPILING

View File

@@ -2,4 +2,4 @@
cpp -DINCLUDE_VARIABLES -P -DALL_FILES ${srcdir:-.}/gdk-pixbuf.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE$//' | sort > expected-abi
nm -D -g --defined-only .libs/libgdk_pixbuf-2.0.so | cut -d ' ' -f 3 | sort > actual-abi
diff -u expected-abi actual-abi && rm expected-abi actual-abi
diff -u expected-abi actual-abi && rm -f expected-abi actual-abi

View File

@@ -31,16 +31,16 @@
/**
* gdk_pixbuf_new_from_data:
* @data: Image data in 8-bit/sample packed format.
* @colorspace: Colorspace for the image data.
* @has_alpha: Whether the data has an opacity channel.
* @bits_per_sample: Number of bits per sample.
* @width: Width of the image in pixels.
* @height: Height of the image in pixels.
* @rowstride: Distance in bytes between row starts.
* @data: Image data in 8-bit/sample packed format
* @colorspace: Colorspace for the image data
* @has_alpha: Whether the data has an opacity channel
* @bits_per_sample: Number of bits per sample
* @width: Width of the image in pixels, must be > 0
* @height: Height of the image in pixels, must be > 0
* @rowstride: Distance in bytes between row starts
* @destroy_fn: Function used to free the data when the pixbuf's reference count
* drops to zero, or %NULL if the data should not be freed.
* @destroy_fn_data: Closure data to pass to the destroy notification function.
* drops to zero, or %NULL if the data should not be freed
* @destroy_fn_data: Closure data to pass to the destroy notification function
*
* Creates a new #GdkPixbuf out of in-memory image data. Currently only RGB
* images with 8 bits per sample are supported.

View File

@@ -2277,7 +2277,3 @@ gdk_pixbuf_get_formats (void)
#define __GDK_PIXBUF_IO_C__
#include "gdk-pixbuf-aliasdef.c"

View File

@@ -455,10 +455,7 @@ gdk_pixbuf_loader_write (GdkPixbufLoader *loader,
eaten = gdk_pixbuf_loader_eat_header_write (loader, buf, count, error);
if (eaten <= 0)
{
gdk_pixbuf_loader_ensure_error (loader, error);
return FALSE;
}
goto fail;
count -= eaten;
buf += eaten;
@@ -466,16 +463,18 @@ gdk_pixbuf_loader_write (GdkPixbufLoader *loader,
if (count > 0 && priv->image_module->load_increment)
{
gboolean retval;
retval = priv->image_module->load_increment (priv->context, buf, count,
error);
if (!retval)
gdk_pixbuf_loader_ensure_error (loader, error);
return retval;
if (!priv->image_module->load_increment (priv->context, buf, count,
error))
goto fail;
}
return TRUE;
fail:
gdk_pixbuf_loader_ensure_error (loader, error);
gdk_pixbuf_loader_close (loader, NULL);
return FALSE;
}
/**
@@ -693,8 +692,8 @@ gdk_pixbuf_loader_close (GdkPixbufLoader *loader,
priv = loader->priv;
/* we expect it's not closed */
g_return_val_if_fail (priv->closed == FALSE, TRUE);
if (priv->closed)
return TRUE;
/* We have less the LOADER_HEADER_SIZE bytes in the image.
* Flush it, and keep going.
@@ -712,9 +711,15 @@ gdk_pixbuf_loader_close (GdkPixbufLoader *loader,
if (priv->image_module && priv->image_module->stop_load && priv->context)
{
if (!priv->image_module->stop_load (priv->context, error))
GError *tmp = NULL;
if (!priv->image_module->stop_load (priv->context, &tmp) || tmp)
{
gdk_pixbuf_loader_ensure_error (loader, error);
/* don't call gdk_pixbuf_loader_ensure_error()
* here, since we might not get an error in the
* gdk_pixbuf_get_file_info() case
*/
if (tmp)
g_propagate_error (error, tmp);
retval = FALSE;
}
}

View File

@@ -426,7 +426,7 @@ gdk_pixbuf_simple_anim_add_frame (GdkPixbufSimpleAnim *animation,
g_return_if_fail (animation != NULL);
g_return_if_fail (pixbuf != NULL);
nframe = g_list_length (animation->frames) + 1;
nframe = g_list_length (animation->frames);
frame = g_new0 (GdkPixbufFrame, 1);
frame->delay_time = (gint) (1000 / animation->rate);

View File

@@ -30,6 +30,9 @@
#define GDK_PIXBUF_COMPILATION
#include "gdk-pixbuf.h"
#include "gdk-pixbuf-private.h"
/* Include the marshallers */
#include <glib-object.h>
#include "gdk-pixbuf-marshal.c"
#include "gdk-pixbuf-alias.h"
static void gdk_pixbuf_finalize (GObject *object);
@@ -221,11 +224,11 @@ free_buffer (guchar *pixels, gpointer data)
/**
* gdk_pixbuf_new:
* @colorspace: Color space for image.
* @has_alpha: Whether the image should have transparency information.
* @bits_per_sample: Number of bits per color sample.
* @width: Width of image in pixels.
* @height: Height of image in pixels.
* @colorspace: Color space for image
* @has_alpha: Whether the image should have transparency information
* @bits_per_sample: Number of bits per color sample
* @width: Width of image in pixels, must be > 0
* @height: Height of image in pixels, must be > 0
*
* Creates a new #GdkPixbuf structure and allocates a buffer for it. The
* buffer has an optimal rowstride. Note that the buffer is not cleared;
@@ -251,9 +254,6 @@ gdk_pixbuf_new (GdkColorspace colorspace,
g_return_val_if_fail (width > 0, NULL);
g_return_val_if_fail (height > 0, NULL);
if (width <= 0 || height <= 0)
return NULL;
channels = has_alpha ? 4 : 3;
rowstride = width * channels;
if (rowstride / channels != width || rowstride + 3 < 0) /* overflow */
@@ -753,11 +753,5 @@ gdk_pixbuf_get_property (GObject *object,
}
}
/* Include the marshallers */
#include <glib-object.h>
#include "gdk-pixbuf-marshal.c"
#define __GDK_PIXBUF_C__
#include "gdk-pixbuf-aliasdef.c"

View File

@@ -17,9 +17,9 @@
* Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include "gdk-pixdata.h"
#include "gdk-pixbuf-private.h"
#include "gdk-pixdata.h"
#include "gdk-pixbuf-alias.h"
#include <string.h>

View File

@@ -159,6 +159,7 @@ struct bmp_progressive_state {
guchar *buff;
guint BufferSize;
guint BufferPadding;
guint BufferDone;
guchar (*Colormap)[3];
@@ -181,6 +182,7 @@ struct bmp_progressive_state {
int r_mask, r_shift, r_bits;
int g_mask, g_shift, g_bits;
int b_mask, b_shift, b_bits;
int a_mask, a_shift, a_bits;
GdkPixbuf *pixbuf; /* Our "target" */
};
@@ -245,6 +247,11 @@ static gboolean grow_buffer (struct bmp_progressive_state *State,
return TRUE;
}
static gboolean
decode_bitmasks (guchar *buf,
struct bmp_progressive_state *State,
GError **error);
static gboolean DecodeHeader(unsigned char *BFH, unsigned char *BIH,
struct bmp_progressive_state *State,
GError **error)
@@ -252,7 +259,6 @@ static gboolean DecodeHeader(unsigned char *BFH, unsigned char *BIH,
gint clrUsed;
/* FIXME this is totally unrobust against bogus image data. */
if (State->BufferSize < lsb_32 (&BIH[0]) + 14) {
State->BufferSize = lsb_32 (&BIH[0]) + 14;
if (!grow_buffer (State, error))
@@ -265,17 +271,32 @@ static gboolean DecodeHeader(unsigned char *BFH, unsigned char *BIH,
#endif
State->Header.size = lsb_32 (&BIH[0]);
if (State->Header.size == 108) {
if (State->Header.size == 124) {
/* BMP v5 */
State->Header.width = lsb_32 (&BIH[4]);
State->Header.height = lsb_32 (&BIH[8]);
State->Header.depth = lsb_16 (&BIH[14]);
State->Compressed = lsb_32 (&BIH[16]);
} else if (State->Header.size == 108) {
/* BMP v4 */
State->Header.width = lsb_32 (&BIH[4]);
State->Header.height = lsb_32 (&BIH[8]);
State->Header.depth = lsb_16 (&BIH[14]);
State->Compressed = lsb_32 (&BIH[16]);
} else if (State->Header.size == 64) {
/* BMP OS/2 v2 */
State->Header.width = lsb_32 (&BIH[4]);
State->Header.height = lsb_32 (&BIH[8]);
State->Header.depth = lsb_16 (&BIH[14]);
State->Compressed = lsb_32 (&BIH[16]);
} else if (State->Header.size == 40) {
/* BMP v3 */
State->Header.width = lsb_32 (&BIH[4]);
State->Header.height = lsb_32 (&BIH[8]);
State->Header.depth = lsb_16 (&BIH[14]);
State->Compressed = lsb_32 (&BIH[16]);
} else if (State->Header.size == 12) {
/* BMP OS/2 */
State->Header.width = lsb_16 (&BIH[4]);
State->Header.height = lsb_16 (&BIH[6]);
State->Header.depth = lsb_16 (&BIH[10]);
@@ -297,9 +318,9 @@ static gboolean DecodeHeader(unsigned char *BFH, unsigned char *BIH,
if (clrUsed != 0)
State->Header.n_colors = clrUsed;
else
State->Header.n_colors = 1 << State->Header.depth;
State->Header.n_colors = (1 << State->Header.depth);
if (State->Header.n_colors > 1 << State->Header.depth) {
if (State->Header.n_colors > (1 << State->Header.depth)) {
g_set_error (error,
GDK_PIXBUF_ERROR,
GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
@@ -417,8 +438,19 @@ static gboolean DecodeHeader(unsigned char *BFH, unsigned char *BIH,
State->BufferDone = 0;
if (State->Type <= 8) {
gint samples;
State->read_state = READ_STATE_PALETTE;
State->BufferSize = lsb_32 (&BFH[10]) - 14 - State->Header.size;
/* Allocate enough to hold the palette */
samples = (State->Header.size == 12 ? 3 : 4);
State->BufferSize = State->Header.n_colors * samples;
/* Skip over everything between the palette and the data.
This protects us against a malicious BFH[10] value.
*/
State->BufferPadding = (lsb_32 (&BFH[10]) - 14 - State->Header.size) - State->BufferSize;
} else if (State->Compressed == BI_RGB) {
if (State->BufferSize < lsb_32 (&BFH[10]))
{
@@ -433,8 +465,19 @@ static gboolean DecodeHeader(unsigned char *BFH, unsigned char *BIH,
State->BufferSize = State->LineWidth;
}
} else if (State->Compressed == BI_BITFIELDS) {
State->read_state = READ_STATE_BITMASKS;
State->BufferSize = 12;
if (State->Header.size == 108 || State->Header.size == 124)
{
/* v4 and v5 have the bitmasks in the header */
if (!decode_bitmasks (&BIH[40], State, error)) {
State->read_state = READ_STATE_ERROR;
return FALSE;
}
}
else
{
State->read_state = READ_STATE_BITMASKS;
State->BufferSize = 12;
}
} else {
g_set_error (error,
GDK_PIXBUF_ERROR,
@@ -511,12 +554,13 @@ find_bits (int n, int *lowest, int *n_set)
}
}
/* Decodes the 3 shorts that follow for the bitmasks for BI_BITFIELDS coding */
/* Decodes the bitmasks for BI_BITFIELDS coding */
static gboolean
decode_bitmasks (guchar *buf,
struct bmp_progressive_state *State,
GError **error)
{
State->a_mask = State->a_shift = State->a_bits = 0;
State->r_mask = buf[0] | (buf[1] << 8) | (buf[2] << 16) | (buf[3] << 24);
buf += 4;
@@ -529,17 +573,55 @@ decode_bitmasks (guchar *buf,
find_bits (State->g_mask, &State->g_shift, &State->g_bits);
find_bits (State->b_mask, &State->b_shift, &State->b_bits);
if (State->r_bits == 0 || State->g_bits == 0 || State->b_bits == 0) {
State->r_mask = 0x7c00;
State->r_shift = 10;
State->g_mask = 0x03e0;
State->g_shift = 5;
State->b_mask = 0x001f;
State->b_shift = 0;
/* v4 and v5 have an alpha mask */
if (State->Header.size == 108 || State->Header.size == 124) {
buf += 4;
State->a_mask = buf[0] | (buf[1] << 8) | (buf[2] << 16) | (buf[3] << 24);
find_bits (State->a_mask, &State->a_shift, &State->a_bits);
}
State->r_bits = State->g_bits = State->b_bits = 5;
if (State->r_bits == 0 || State->g_bits == 0 || State->b_bits == 0) {
if (State->Type == 16) {
State->r_mask = 0x7c00;
State->r_shift = 10;
State->g_mask = 0x03e0;
State->g_shift = 5;
State->b_mask = 0x001f;
State->b_shift = 0;
State->r_bits = State->g_bits = State->b_bits = 5;
}
else {
State->r_mask = 0x00ff0000;
State->r_shift = 16;
State->g_mask = 0x0000ff00;
State->g_shift = 8;
State->b_mask = 0x000000ff;
State->b_shift = 0;
State->a_mask = 0xff000000;
State->a_shift = 24;
State->r_bits = State->g_bits = State->b_bits = State->a_bits = 8;
}
}
if (State->r_bits > 8) {
State->r_shift += State->r_bits - 8;
State->r_bits = 8;
}
if (State->g_bits > 8) {
State->g_shift += State->g_bits - 8;
State->g_bits = 8;
}
if (State->b_bits > 8) {
State->b_shift += State->b_bits - 8;
State->b_bits = 8;
}
if (State->a_bits > 8) {
State->a_shift += State->a_bits - 8;
State->a_bits = 8;
}
State->read_state = READ_STATE_DATA;
State->BufferDone = 0;
State->BufferSize = State->LineWidth;
@@ -573,6 +655,7 @@ gdk_pixbuf__bmp_image_begin_load(GdkPixbufModuleSizeFunc size_func,
context->read_state = READ_STATE_HEADERS;
context->BufferSize = 26;
context->BufferPadding = 0;
context->buff = g_malloc(26);
context->BufferDone = 0;
/* 14 for the BitmapFileHeader, 12 for the BitmapImageHeader */
@@ -644,28 +727,35 @@ static void OneLine32(struct bmp_progressive_state *context)
int r_lshift, r_rshift;
int g_lshift, g_rshift;
int b_lshift, b_rshift;
int a_lshift, a_rshift;
r_lshift = 8 - context->r_bits;
g_lshift = 8 - context->g_bits;
b_lshift = 8 - context->b_bits;
a_lshift = 8 - context->a_bits;
r_rshift = context->r_bits - r_lshift;
g_rshift = context->g_bits - g_lshift;
b_rshift = context->b_bits - b_lshift;
a_rshift = context->a_bits - a_lshift;
for (i = 0; i < context->Header.width; i++) {
int v, r, g, b;
int v, r, g, b, a;
v = src[0] | (src[1] << 8) | (src[2] << 16);
v = src[0] | (src[1] << 8) | (src[2] << 16) | (src[3] << 24);
r = (v & context->r_mask) >> context->r_shift;
g = (v & context->g_mask) >> context->g_shift;
b = (v & context->b_mask) >> context->b_shift;
a = (v & context->a_mask) >> context->a_shift;
*pixels++ = (r << r_lshift) | (r >> r_rshift);
*pixels++ = (g << g_lshift) | (g >> g_rshift);
*pixels++ = (b << b_lshift) | (b >> b_rshift);
*pixels++ = 0xff;
if (context->a_bits)
*pixels++ = 0xff - ((a << a_lshift) | (a >> a_rshift));
else
*pixels++ = 0xff;
src += 4;
}
@@ -1078,6 +1168,7 @@ gdk_pixbuf__bmp_image_load_increment(gpointer data,
(struct bmp_progressive_state *) data;
gint BytesToCopy;
gint BytesToRemove;
if (context->read_state == READ_STATE_DONE)
return TRUE;
@@ -1103,6 +1194,19 @@ gdk_pixbuf__bmp_image_load_increment(gpointer data,
break;
}
/* context->buff is full. Now we discard all "padding" */
if (context->BufferPadding != 0) {
BytesToRemove = context->BufferPadding - size;
if (BytesToRemove > size) {
BytesToRemove = size;
}
size -= BytesToRemove;
context->BufferPadding -= BytesToRemove;
if (context->BufferPadding != 0)
break;
}
switch (context->read_state) {
case READ_STATE_HEADERS:
if (!DecodeHeader (context->buff,

View File

@@ -908,6 +908,11 @@ gif_get_lzw (GifContext *context)
/* Only call prepare_func for the first frame */
if (context->animation->frames->next == NULL) {
if (context->animation->width == 0 )
context->animation->width = gdk_pixbuf_get_width(context->frame->pixbuf);
if (context->animation->height == 0)
context->animation->height = gdk_pixbuf_get_height (context->frame->pixbuf);
if (context->prepare_func)
(* context->prepare_func) (context->frame->pixbuf,
GDK_PIXBUF_ANIMATION (context->animation),
@@ -1521,7 +1526,7 @@ gdk_pixbuf__gif_image_stop_load (gpointer data, GError **error)
GifContext *context = (GifContext *) data;
gboolean retval = TRUE;
if (context->state != GIF_DONE) {
if (context->state != GIF_DONE || context->animation->frames == NULL) {
g_set_error (error,
GDK_PIXBUF_ERROR,
GDK_PIXBUF_ERROR_CORRUPT_IMAGE,

View File

@@ -1205,6 +1205,7 @@ MODULE_ENTRY (ico, fill_info) (GdkPixbufFormat *info)
};
static gchar * mime_types[] = {
"image/x-icon",
"image/x-ico",
NULL
};
static gchar * extensions[] = {

View File

@@ -307,6 +307,8 @@ gdk_pixbuf__jpeg_image_load (FILE *f, GError **error)
g_object_unref (pixbuf);
jpeg_destroy_decompress (&cinfo);
/* error should have been set by fatal_error_handler () */
return NULL;
}
@@ -527,6 +529,7 @@ gdk_pixbuf__jpeg_image_stop_load (gpointer data, GError **error)
g_object_unref (context->pixbuf);
/* if we have an error? */
context->jerr.error = error;
if (sigsetjmp (context->jerr.setjmp_buffer, 1)) {
jpeg_destroy_decompress (&context->cinfo);
} else {
@@ -715,8 +718,13 @@ gdk_pixbuf__jpeg_image_load_increment (gpointer data,
height = cinfo->image_height;
if (context->size_func) {
(* context->size_func) (&width, &height, context->user_data);
if (width == 0 || height == 0)
if (width == 0 || height == 0) {
g_set_error (error,
GDK_PIXBUF_ERROR,
GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
_("Transformed JPEG has zero width or height."));
return FALSE;
}
}
for (cinfo->scale_denom = 2; cinfo->scale_denom <= 8; cinfo->scale_denom *= 2) {
@@ -944,9 +952,7 @@ real_save_jpeg (GdkPixbuf *pixbuf,
return FALSE;
}
} else {
g_warning ("Bad option name '%s' passed to JPEG saver",
*kiter);
return FALSE;
g_warning ("Unrecognized parameter (%s) passed to JPEG saver.", *kiter);
}
++kiter;
@@ -959,10 +965,7 @@ real_save_jpeg (GdkPixbuf *pixbuf,
w = gdk_pixbuf_get_width (pixbuf);
h = gdk_pixbuf_get_height (pixbuf);
/* no image data? abort */
pixels = gdk_pixbuf_get_pixels (pixbuf);
g_return_val_if_fail (pixels != NULL, FALSE);
/* Allocate a small buffer to convert image data,
* and a larger buffer if doing to_callback save.

View File

@@ -204,14 +204,24 @@ png_text_to_pixbuf_option (png_text text_ptr,
gchar **key,
gchar **value)
{
if (text_ptr.text_length > 0) {
*value = g_convert (text_ptr.text, -1,
"UTF-8", "ISO-8859-1",
NULL, NULL, NULL);
}
else {
gboolean is_ascii = TRUE;
int i;
/* Avoid loading iconv if the text is plain ASCII */
for (i = 0; i < text_ptr.text_length; i++)
if (text_ptr.text[i] & 0x80) {
is_ascii = FALSE;
break;
}
if (is_ascii) {
*value = g_strdup (text_ptr.text);
} else {
*value = g_convert (text_ptr.text, -1,
"UTF-8", "ISO-8859-1",
NULL, NULL, NULL);
}
if (*value) {
*key = g_strconcat ("tEXt::", text_ptr.key, NULL);
return TRUE;
@@ -334,8 +344,8 @@ gdk_pixbuf__png_image_load (FILE *f, GError **error)
static void png_error_callback (png_structp png_read_ptr,
png_const_charp error_msg);
static void png_warning_callback(png_structp png_read_ptr,
png_const_charp warning_msg);
static void png_warning_callback (png_structp png_read_ptr,
png_const_charp warning_msg);
/* Called at the start of the progressive load */
static void png_info_callback (png_structp png_read_ptr,
@@ -602,6 +612,12 @@ png_info_callback (png_structp png_read_ptr,
if (w == 0 || h == 0) {
lc->fatal_error_occurred = TRUE;
if (lc->error && *lc->error == NULL) {
g_set_error (lc->error,
GDK_PIXBUF_ERROR,
GDK_PIXBUF_ERROR_FAILED,
_("Transformed PNG has zero width or height."));
}
return;
}
}
@@ -723,8 +739,8 @@ png_error_callback(png_structp png_read_ptr,
}
static void
png_warning_callback(png_structp png_read_ptr,
png_const_charp warning_msg)
png_warning_callback (png_structp png_read_ptr,
png_const_charp warning_msg)
{
LoadContext* lc;
@@ -845,9 +861,7 @@ static gboolean real_save_png (GdkPixbuf *pixbuf,
return FALSE;
}
} else {
g_warning ("Bad option name '%s' passed to PNG saver",
*kiter);
return FALSE;
g_warning ("Unrecognized parameter (%s) passed to PNG saver.", *kiter);
}
++kiter;
@@ -901,8 +915,10 @@ static gboolean real_save_png (GdkPixbuf *pixbuf,
error,
png_simple_error_callback,
png_simple_warning_callback);
g_return_val_if_fail (png_ptr != NULL, FALSE);
if (png_ptr == NULL) {
success = FALSE;
goto cleanup;
}
info_ptr = png_create_info_struct (png_ptr);
if (info_ptr == NULL) {

View File

@@ -527,109 +527,90 @@ pnm_read_raw_scanline (PnmLoaderContext *context)
}
static gint
pnm_read_ascii_scanline (PnmLoaderContext *context)
pnm_read_ascii_mono_scanline (PnmLoaderContext *context)
{
PnmIOBuffer *inbuf;
guint offset;
guint value, numval, i;
guchar data;
guchar mask;
guint value;
gint retval;
guchar *dptr;
gint max_length;
if (context->type == PNM_FORMAT_PBM)
max_length = 1;
else
max_length = -1;
inbuf = &context->inbuf;
context->dptr = context->pixels + context->output_row * context->rowstride;
dptr = context->dptr + context->output_col * 3;
while (TRUE) {
retval = pnm_read_next_value (inbuf, max_length, &value, context->error);
if (retval != PNM_OK)
return retval;
if (context->type == PNM_FORMAT_PBM) {
value = value ? 0 : 0xff;
}
else {
/* scale the color up or down to an 8-bit color depth */
if (value > context->maxval)
value = 255;
else
value = (guchar)(255 * value / context->maxval);
}
*dptr++ = value;
*dptr++ = value;
*dptr++ = value;
context->output_col++;
if (context->output_col == context->width) {
context->output_col = 0;
context->output_row++;
break;
}
}
return PNM_OK;
}
static gint
pnm_read_ascii_color_scanline (PnmLoaderContext *context)
{
PnmIOBuffer *inbuf;
guint value, i;
guchar *dptr;
gint retval;
gint max_length;
g_return_val_if_fail (context != NULL, PNM_FATAL_ERR);
data = mask = 0;
inbuf = &context->inbuf;
context->dptr = context->pixels + context->output_row * context->rowstride;
switch (context->type) {
case PNM_FORMAT_PBM:
max_length = 1;
numval = MIN (8, context->width - context->output_col);
offset = context->output_col / 8;
break;
case PNM_FORMAT_PGM:
max_length = -1;
numval = 1;
offset = context->output_col;
break;
case PNM_FORMAT_PPM:
max_length = -1;
numval = 3;
offset = context->output_col * 3;
break;
default:
g_set_error (context->error,
GDK_PIXBUF_ERROR,
GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
_("PNM image format is invalid"));
return PNM_FATAL_ERR;
}
dptr = context->dptr + offset + context->scan_state;
dptr = context->dptr + context->output_col * 3 + context->scan_state;
while (TRUE) {
if (context->type == PNM_FORMAT_PBM) {
mask = 0x80;
data = 0;
numval = MIN (8, context->width - context->output_col);
}
for (i = context->scan_state; i < numval; i++) {
retval = pnm_read_next_value (inbuf, max_length,
&value, context->error);
for (i = context->scan_state; i < 3; i++) {
retval = pnm_read_next_value (inbuf, -1, &value, context->error);
if (retval != PNM_OK) {
/* save state and return */
context->scan_state = i;
return retval;
}
switch (context->type) {
case PNM_FORMAT_PBM:
if (value)
data |= mask;
mask >>= 1;
break;
case PNM_FORMAT_PGM:
case PNM_FORMAT_PPM:
/* scale the color up or down to an 8-bit color depth */
if (value > context->maxval)
*dptr++ = 255;
else
*dptr++ = (guchar)(255 * value / context->maxval);
break;
default:
g_set_error (context->error,
GDK_PIXBUF_ERROR,
GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
_("PNM image format is invalid"));
return PNM_FATAL_ERR;
break;
}
if (value > context->maxval)
*dptr++ = 255;
else
*dptr++ = (guchar)(255 * value / context->maxval);
}
context->scan_state = 0;
if (context->type == PNM_FORMAT_PBM) {
*dptr++ = data;
context->output_col += numval;
} else {
context->output_col++;
}
context->output_col++;
if (context->output_col == context->width) {
if (context->type == PNM_FORMAT_PBM)
explode_bitmap_into_buf (context);
else if (context->type == PNM_FORMAT_PGM)
explode_gray_into_buf (context);
context->output_col = 0;
context->output_row++;
break;
@@ -659,8 +640,12 @@ pnm_read_scanline (PnmLoaderContext *context)
break;
case PNM_FORMAT_PBM:
case PNM_FORMAT_PGM:
retval = pnm_read_ascii_mono_scanline (context);
if (retval != PNM_OK)
return retval;
break;
case PNM_FORMAT_PPM:
retval = pnm_read_ascii_scanline (context);
retval = pnm_read_ascii_color_scanline (context);
if (retval != PNM_OK)
return retval;
break;

View File

@@ -504,8 +504,9 @@ static guint parse_rle_data_pseudocolor(TGAContext *ctx)
}
}
if (ctx->pbuf_bytes_done == ctx->pbuf_bytes)
if (ctx->pbuf_bytes_done == ctx->pbuf_bytes)
ctx->done = TRUE;
return n;
}
@@ -657,8 +658,10 @@ static gboolean parse_rle_data(TGAContext *ctx, GError **err)
* perfect, but doing it during the rle decoding in place
* is considerably more work.
*/
if (!(ctx->hdr->flags & TGA_ORIGIN_UPPER))
if (!(ctx->hdr->flags & TGA_ORIGIN_UPPER)) {
pixbuf_flip_vertically (ctx->pbuf);
ctx->hdr->flags |= TGA_ORIGIN_UPPER;
}
}
@@ -933,6 +936,13 @@ static gboolean gdk_pixbuf__tga_stop_load(gpointer data, GError **err)
TGAContext *ctx = (TGAContext *) data;
g_return_val_if_fail(ctx != NULL, FALSE);
if (!(ctx->hdr->flags & TGA_ORIGIN_UPPER) && ctx->run_length_encoded) {
pixbuf_flip_vertically (ctx->pbuf);
if (ctx->ufunc)
(*ctx->ufunc) (ctx->pbuf, 0, 0,
ctx->pbuf->width, ctx->pbuf->height,
ctx->udata);
}
if (ctx->hdr)
g_free (ctx->hdr);
if (ctx->cmap) {

View File

@@ -211,10 +211,14 @@ tiff_image_parse (TIFF *tiff, TiffContext *context, GError **error)
gint w = width;
gint h = height;
(* context->size_func) (&w, &h, context->user_data);
if (w == 0 || h == 0)
/* This is a signal that this function is being called
to support gdk_pixbuf_get_file_info, so we can stop
parsing the tiff file at this point. It is not an
error condition. */
if (w == 0 || h == 0)
return NULL;
}
}
pixels = g_try_malloc (bytes);

View File

@@ -1,3 +0,0 @@
EXPORTS
fill_vtable
fill_info

View File

@@ -1,3 +0,0 @@
EXPORTS
fill_vtable
fill_info

View File

@@ -1,3 +0,0 @@
EXPORTS
fill_vtable
fill_info

View File

@@ -1,3 +0,0 @@
EXPORTS
fill_vtable
fill_info

View File

@@ -1,3 +0,0 @@
EXPORTS
fill_vtable
fill_info

View File

@@ -1,3 +0,0 @@
EXPORTS
fill_vtable
fill_info

View File

@@ -1,3 +0,0 @@
EXPORTS
fill_vtable
fill_info

View File

@@ -1,3 +0,0 @@
EXPORTS
fill_vtable
fill_info

View File

@@ -1,3 +0,0 @@
EXPORTS
fill_vtable
fill_info

View File

@@ -1,3 +0,0 @@
EXPORTS
fill_vtable
fill_info

View File

@@ -1,3 +0,0 @@
EXPORTS
fill_vtable
fill_info

View File

@@ -1,3 +0,0 @@
EXPORTS
fill_vtable
fill_info

View File

@@ -1,3 +0,0 @@
EXPORTS
fill_vtable
fill_info

View File

@@ -1,3 +0,0 @@
EXPORTS
fill_vtable
fill_info

17
gdk-pixbuf/pltcheck.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
LANG=C
status=0
if ! which readelf 2>/dev/null >/dev/null; then
echo "'readelf' not found; skipping test"
exit 0
fi
for so in .libs/libgdk_pixbuf*.so; do
echo Checking $so for local PLT entries
readelf -r $so | grep 'JU\?MP_SLOT' | grep 'gdk_pixbuf' && status=1
done
exit $status

View File

@@ -16,7 +16,8 @@ EXTRA_DIST = \
gdk.symbols \
makegdkalias.pl \
gdkaliasdef.c \
abicheck.sh
abicheck.sh \
pltcheck.sh
INCLUDES = \
-DG_LOG_DOMAIN=\"Gdk\" \
@@ -24,8 +25,7 @@ INCLUDES = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-I$(top_srcdir)/gdk-pixbuf \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
$(GDK_DEP_CFLAGS)
@@ -160,10 +160,10 @@ libgdk_win32_2_0_la_LIBADD = win32/libgdk-win32.la $(GDK_DEP_LIBS) \
libgdk_win32_2_0_la_DEPENDENCIES = win32/libgdk-win32.la win32/rc/gdk-win32-res.o gdk.def
libgdk_win32_2_0_la_LDFLAGS = -Wl,win32/rc/gdk-win32-res.o -export-symbols gdk.def $(LDADD)
if HAVE_WINTAB
libgdk_win32_2_0_la_LIBADD += -Lwin32 -lwntab32x
libgdk_win32_2_0_la_LDFLAGS += -Wl,win32/libwntab32x.a
endif
if HAVE_IE55
libgdk_win32_2_0_la_LIBADD += -Lwin32 -lie55uuid
libgdk_win32_2_0_la_LDFLAGS += -Wl,win32/libie55uuid.a
endif
if OS_WIN32
@@ -202,7 +202,7 @@ gdkaliasdef.c: gdk.symbols
$(PERL) $(srcdir)/makegdkalias.pl -def < $(srcdir)/gdk.symbols > gdkaliasdef.c
if OS_LINUX
TESTS = abicheck.sh
TESTS = pltcheck.sh abicheck.sh
endif

View File

@@ -2,4 +2,4 @@
cpp -DINCLUDE_VARIABLES -P -DALL_FILES -DGDK_ENABLE_BROKEN -DGDK_WINDOWING_X11 ${srcdir:-.}/gdk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' | sort | uniq > expected-abi
nm -D -g --defined-only .libs/libgdk-x11-2.0.so | cut -d ' ' -f 3 | sort > actual-abi
diff -u expected-abi actual-abi && rm expected-abi actual-abi
diff -u expected-abi actual-abi && rm -f expected-abi actual-abi

View File

@@ -4,12 +4,11 @@ libgdkincludedir = $(includedir)/gtk-2.0/gdk
INCLUDES = \
-DG_LOG_DOMAIN=\"Gdk-DirectFB\" \
-DGDK_COMPILATION \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
-DG_DISABLE_DEPRECATED \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
@GTK_DEBUG_FLAGS@ \
@GDK_DEP_CFLAGS@

View File

@@ -38,12 +38,10 @@
#include <stdlib.h>
#include <string.h>
#include "gdkcolor.h"
#include "gdkinternals.h"
#include "gdkdirectfb.h"
#include "gdkprivate-directfb.h"
#include "gdkinternals.h"
#include "gdkcolor.h"
#include "gdkalias.h"

View File

@@ -444,6 +444,9 @@ gdk_cursor_new_from_name (GdkDisplay *display,
g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
pixbuf = gdk_pixbuf_new_from_file(name, NULL);
/* Prevents attempts to load stock X cursors from generating error messages */
if (pixbuf == NULL)
return NULL;
g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL);
cursor = gdk_cursor_new_from_pixbuf (display, pixbuf, 1, 1);
g_object_unref (pixbuf);

View File

@@ -33,6 +33,10 @@
#ifndef __GDK_DIRECTFB_H__
#define __GDK_DIRECTFB_H__
/* This define disables some experimental code
*/
#define GDK_DIRECTFB_NO_EXPERIMENTS
#include <cairo.h>
#include <directfb.h>
#include "gdk/gdkprivate.h"
@@ -86,7 +90,7 @@ GdkVisual * gdk_directfb_visual_by_format (DFBSurfacePixelFormat pixel_format
IDirectFBWindow *gdk_directfb_window_lookup(GdkWindow *window);
IDirectFBSurface *gdk_directfb_surface_lookup(GdkWindow *window);
#if (DIRECTFB_MICRO_VERSION > 25)
#if (DIRECTFB_MAJOR_VERSION >= 1)
GdkWindow *gdk_directfb_create_child_window(GdkWindow *parent,
IDirectFBSurface *subsurface);
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -69,13 +69,93 @@ static GdkEvent * gdk_event_translate (DFBWindowEvent *dfbevent,
*/
static GList *client_filters; /* Filters for client messages */
static void
fixup_event (GdkEvent *event)
{
if (event->any.window)
g_object_ref (event->any.window);
if (((event->any.type == GDK_ENTER_NOTIFY) ||
(event->any.type == GDK_LEAVE_NOTIFY)) &&
(event->crossing.subwindow != NULL))
g_object_ref (event->crossing.subwindow);
event->any.send_event = FALSE;
}
static GdkFilterReturn
apply_filters (GdkWindow *window,
DFBWindowEvent *dfbevent,
GList *filters)
{
GdkFilterReturn result = GDK_FILTER_CONTINUE;
GdkEvent *event;
GList *node;
GList *tmp_list;
event = gdk_event_new (GDK_NOTHING);
if (window != NULL)
event->any.window = g_object_ref (window);
((GdkEventPrivate *)event)->flags |= GDK_EVENT_PENDING;
/* I think GdkFilterFunc semantics require the passed-in event
* to already be in the queue. The filter func can generate
* more events and append them after it if it likes.
*/
node = _gdk_event_queue_append ((GdkDisplay*)_gdk_display, event);
tmp_list = filters;
while (tmp_list)
{
GdkEventFilter *filter = (GdkEventFilter *) tmp_list->data;
tmp_list = tmp_list->next;
result = filter->function (dfbevent, event, filter->data);
if (result != GDK_FILTER_CONTINUE)
break;
}
if (result == GDK_FILTER_CONTINUE || result == GDK_FILTER_REMOVE)
{
_gdk_event_queue_remove_link ((GdkDisplay*)_gdk_display, node);
g_list_free_1 (node);
gdk_event_free (event);
}
else /* GDK_FILTER_TRANSLATE */
{
((GdkEventPrivate *)event)->flags &= ~GDK_EVENT_PENDING;
fixup_event (event);
}
return result;
}
static void
dfb_events_process_window_event (DFBWindowEvent *event)
{
GdkWindow *window = gdk_directfb_window_id_table_lookup (event->window_id);
GdkWindow *window;
if (! window)
return;
/*
* Apply global filters
*
* If result is GDK_FILTER_CONTINUE, we continue as if nothing
* happened. If it is GDK_FILTER_REMOVE or GDK_FILTER_TRANSLATE,
* we return TRUE and won't dispatch the event.
*/
if (_gdk_default_filters)
{
switch (apply_filters (NULL, event, _gdk_default_filters))
{
case GDK_FILTER_REMOVE:
case GDK_FILTER_TRANSLATE:
return;
default:
break;
}
}
window = gdk_directfb_window_id_table_lookup (event->window_id);
if (!window)
return;
gdk_event_translate (event, window);
}
@@ -142,6 +222,12 @@ dfb_events_io_func (GIOChannel *channel,
switch (event->clazz)
{
case DFEC_WINDOW:
/* TODO workaround to prevent two DWET_ENTER in a row from being delivered */
if (event->window.type == DWET_ENTER ) {
if ( i>0 && buf[i-1].window.type != DWET_ENTER )
dfb_events_process_window_event (&event->window);
}
else
dfb_events_process_window_event (&event->window);
break;
default:
@@ -309,6 +395,25 @@ gdk_directfb_event_windows_add (GdkWindow *window)
impl->window->CreateEventBuffer (impl->window, &EventBuffer);
}
#if (DIRECTFB_MAJOR_VERSION >= 1)
void
gdk_directfb_event_windows_remove (GdkWindow *window)
{
GdkWindowImplDirectFB *impl;
g_return_if_fail (GDK_IS_WINDOW (window));
impl = GDK_WINDOW_IMPL_DIRECTFB (GDK_WINDOW_OBJECT (window)->impl);
if (!impl->window)
return;
if (EventBuffer)
impl->window->DetachEventBuffer (impl->window, EventBuffer);
/* FIXME: should we warn if (! EventBuffer) ? */
}
#endif
GdkWindow *
gdk_directfb_child_at (GdkWindow *window,
gint *winx,
@@ -354,6 +459,28 @@ gdk_event_translate (DFBWindowEvent *dfbevent,
private = GDK_WINDOW_OBJECT (window);
g_object_ref (G_OBJECT (window));
/*
* Apply per-window filters
*
* If result is GDK_FILTER_CONTINUE, we continue as if nothing
* happened. If it is GDK_FILTER_REMOVE or GDK_FILTER_TRANSLATE,
* we return TRUE and won't dispatch the event.
*/
if (private->filters)
{
switch (apply_filters (window, dfbevent, private->filters))
{
case GDK_FILTER_REMOVE:
case GDK_FILTER_TRANSLATE:
g_object_unref (G_OBJECT (window));
return NULL;
default:
break;
}
}
display = gdk_drawable_get_display (GDK_DRAWABLE (window));
switch (dfbevent->type)
@@ -488,6 +615,10 @@ gdk_event_translate (DFBWindowEvent *dfbevent,
int wy=_gdk_directfb_mouse_y;
child = gdk_directfb_child_at (_gdk_parent_root, &wx, &wy);
/* first let's see if any cossing event has to be send */
gdk_directfb_window_send_crossing_events (NULL, child, GDK_CROSSING_NORMAL);
/* then dispatch the motion event to the window the cursor it's inside */
event_win = gdk_directfb_pointer_event_window (child, GDK_MOTION_NOTIFY);
@@ -531,8 +662,9 @@ gdk_event_translate (DFBWindowEvent *dfbevent,
}
}
/* make sure crossing events go to the event window found */
GdkWindow *ev_win = ( event_win == NULL ) ? gdk_window_at_pointer (NULL,NULL) :event_win;
/* GdkWindow *ev_win = ( event_win == NULL ) ? gdk_window_at_pointer (NULL,NULL) :event_win;
gdk_directfb_window_send_crossing_events (NULL,ev_win,GDK_CROSSING_NORMAL);
*/
}
break;
@@ -660,6 +792,10 @@ gdk_event_translate (DFBWindowEvent *dfbevent,
child = gdk_directfb_child_at (window, &dfbevent->x, &dfbevent->y);
/* this makes sure pointer is set correctly when it previously left
* a window being not standard shaped
*/
gdk_window_set_cursor (window, NULL);
gdk_directfb_window_send_crossing_events (NULL, child,
GDK_CROSSING_NORMAL);

View File

@@ -111,8 +111,8 @@ gdk_gc_directfb_finalize (GObject *object)
GdkGC *gc = GDK_GC (object);
GdkGCDirectFB *private = GDK_GC_DIRECTFB (gc);
if (private->clip_region)
gdk_region_destroy (private->clip_region);
if (private->clip_region.numRects)
temp_region_deinit (&private->clip_region);
if (private->values.clip_mask)
g_object_unref (private->values.clip_mask);
if (private->values.stipple)
@@ -260,11 +260,7 @@ gdk_directfb_gc_set_values (GdkGC *gc,
if (oldpm)
g_object_unref (oldpm);
if (private->clip_region)
{
gdk_region_destroy (private->clip_region);
private->clip_region = NULL;
}
temp_region_reset (&private->clip_region);
}
if (values_mask & GDK_GC_SUBWINDOW)
@@ -361,17 +357,13 @@ _gdk_windowing_gc_set_clip_region (GdkGC *gc,
data = GDK_GC_DIRECTFB (gc);
if (region == data->clip_region)
if (region == &data->clip_region)
return;
if (data->clip_region)
{
gdk_region_destroy (data->clip_region);
data->clip_region = NULL;
}
if (region)
data->clip_region = gdk_region_copy (region);
temp_region_init_copy (&data->clip_region, region);
else
temp_region_reset (&data->clip_region);
gc->clip_x_origin = 0;
gc->clip_y_origin = 0;
@@ -392,8 +384,7 @@ _gdk_windowing_gc_copy (GdkGC *dst_gc,
dst_private = GDK_GC_DIRECTFB (dst_gc);
if (dst_private->clip_region)
gdk_region_destroy(dst_private->clip_region);
temp_region_reset(&dst_private->clip_region);
if (dst_private->values_mask & GDK_GC_FONT)
gdk_font_unref (dst_private->values.font);
@@ -413,8 +404,6 @@ _gdk_windowing_gc_copy (GdkGC *dst_gc,
g_object_ref (dst_private->values.stipple);
if (dst_private->values_mask & GDK_GC_CLIP_MASK)
g_object_ref (dst_private->values.clip_mask);
if (dst_private->clip_region)
dst_private->clip_region = gdk_region_copy (dst_private->clip_region);
}
/**

View File

@@ -1941,31 +1941,40 @@ gdk_keymap_translate_keyboard_state (GdkKeymap *keymap,
if (directfb_keymap[index + i + 2 * group] != GDK_VoidSymbol)
{
if (keyval)
*keyval = directfb_keymap[index + i + 2 * group];
if (group && directfb_keymap[index + i] == *keyval)
{
if (effective_group)
*effective_group = 0;
if(consumed_modifiers)
*consumed_modifiers = 0;
}
else
{
if (effective_group)
*effective_group = group;
if(consumed_modifiers)
*consumed_modifiers = GDK_MOD2_MASK;
}
if (level)
*level = i;
if (i && directfb_keymap[index + 2 * *effective_group] != *keyval)
if(consumed_modifiers)
*consumed_modifiers |= GDK_SHIFT_MASK;
return TRUE;
}
}
if (keyval)
*keyval = 0;
if (effective_group)
*effective_group = 0;
if (level)
*level = 0;
if(consumed_modifiers)
*consumed_modifiers = 0;
return FALSE;

View File

@@ -166,6 +166,8 @@ gdk_pixmap_new (GdkDrawable *drawable,
format = DSPF_RGB16;
break;
case 24:
format = DSPF_RGB24;
break;
case 32:
format = DSPF_RGB32;
break;

View File

@@ -38,8 +38,12 @@
#include "gdkinternals.h"
#include "gdkcursor.h"
#include "gdkdisplay-directfb.h"
#include "gdkregion-generic.h"
#include <cairo.h>
#include <string.h>
#include <directfb_util.h>
#define GDK_TYPE_DRAWABLE_IMPL_DIRECTFB (gdk_drawable_impl_directfb_get_type ())
@@ -68,13 +72,15 @@ struct _GdkDrawableImplDirectFB
gboolean buffered;
GdkRegion *paint_region;
GdkRegion paint_region;
gint paint_depth;
gint width;
gint height;
gint abs_x;
gint abs_y;
GdkRegion clip_region;
GdkColormap *colormap;
IDirectFBSurface *surface;
@@ -151,6 +157,9 @@ struct _GdkWindowImplDirectFB
guint8 opacity;
GdkWindowTypeHint type_hint;
DFBUpdates flips;
DFBRegion flip_regions[4];
};
typedef struct
@@ -204,7 +213,7 @@ typedef struct
{
GdkGC parent_instance;
GdkRegion *clip_region;
GdkRegion clip_region;
GdkGCValuesMask values_mask;
GdkGCValues values;
@@ -231,6 +240,9 @@ GdkImage* _gdk_directfb_copy_to_image (GdkDrawable *drawable,
gint height);
void gdk_directfb_event_windows_add (GdkWindow *window);
#if (DIRECTFB_MAJOR_VERSION >= 1)
void gdk_directfb_event_windows_remove (GdkWindow *window);
#endif
GdkGrabStatus gdk_directfb_pointer_grab (GdkWindow *window,
gint owner_events,
@@ -314,5 +326,88 @@ void gdk_fb_window_set_child_handler (GdkWindow *window,
GdkWindowChildGetPos get_pos,
gpointer user_data);
void gdk_directfb_clip_region (GdkDrawable *drawable,
GdkGC *gc,
GdkRectangle *draw_rect,
GdkRegion *ret_clip);
/* Utilities for avoiding mallocs */
static inline void
temp_region_init_copy( GdkRegion *region,
const GdkRegion *source)
{
if (region != source) /* don't want to copy to itself */
{
if (region->size < source->numRects)
{
if (region->rects && region->rects != &region->extents)
g_free( region->rects );
region->rects = g_new (GdkRegionBox, source->numRects);
region->size = source->numRects;
}
region->numRects = source->numRects;
region->extents = source->extents;
memcpy( region->rects, source->rects, source->numRects * sizeof (GdkRegionBox) );
}
}
static inline void
temp_region_init_rectangle( GdkRegion *region,
const GdkRectangle *rect )
{
region->numRects = 1;
region->rects = &region->extents;
region->extents.x1 = rect->x;
region->extents.y1 = rect->y;
region->extents.x2 = rect->x + rect->width;
region->extents.y2 = rect->y + rect->height;
region->size = 1;
}
static inline void
temp_region_init_rectangle_vals( GdkRegion *region,
int x,
int y,
int w,
int h )
{
region->numRects = 1;
region->rects = &region->extents;
region->extents.x1 = x;
region->extents.y1 = y;
region->extents.x2 = x + w;
region->extents.y2 = y + h;
region->size = 1;
}
static inline void
temp_region_reset( GdkRegion *region )
{
if (region->size > 32 && region->rects && region->rects != &region->extents) {
g_free( region->rects );
region->size = 1;
region->rects = &region->extents;
}
region->numRects = 0;
}
static inline void
temp_region_deinit( GdkRegion *region )
{
if (region->rects && region->rects != &region->extents) {
g_free( region->rects );
region->rects = NULL;
}
region->numRects = 0;
}
#endif /* __GDK_PRIVATE_DIRECTFB_H__ */

View File

@@ -191,8 +191,7 @@ gdk_atom_name (GdkAtom atom)
if (GPOINTER_TO_INT (atom) >= atoms_to_names->len)
return NULL;
return g_ptr_array_index (atoms_to_names, GPOINTER_TO_INT (atom));
return g_strdup(g_ptr_array_index (atoms_to_names, GPOINTER_TO_INT (atom)));
}

View File

@@ -215,7 +215,7 @@ gdk_screen_get_window_stack (GdkScreen *screen)
gboolean
gdk_screen_is_composited (GdkScreen *screen)
{
g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE);
return FALSE;
}

View File

@@ -46,6 +46,8 @@
#include "cairo.h"
#include <assert.h>
#include <directfb_util.h>
static GdkRegion * gdk_window_impl_directfb_get_visible_region (GdkDrawable *drawable);
static void gdk_window_impl_directfb_set_colormap (GdkDrawable *drawable,
GdkColormap *colormap);
@@ -93,6 +95,35 @@ gdk_window_directfb_process_all_updates (void)
tmp_list = tmp_list->next;
}
#ifndef GDK_DIRECTFB_NO_EXPERIMENTS
tmp_list = old_update_windows;
g_slist_foreach (old_update_windows, (GFunc)g_object_ref, NULL);
while (tmp_list) {
GdkWindowObject *top = GDK_WINDOW_OBJECT( gdk_window_get_toplevel( tmp_list->data ) );
if (top) {
GdkWindowImplDirectFB *wimpl = GDK_WINDOW_IMPL_DIRECTFB (top->impl);
if (wimpl->flips.num_regions) {
//direct_log_printf( NULL, "Flipping bounding box of paints: %d,%d - %dx%d (top %p, wimpl %p)\n",
// DFB_RECTANGLE_VALS_FROM_REGION( &wimpl->flips.bounding ), top, wimpl );
wimpl->drawable.surface->Flip( wimpl->drawable.surface, &wimpl->flips.bounding, DSFLIP_NONE );
dfb_updates_reset( &wimpl->flips );
}
}
g_object_unref (tmp_list->data);
tmp_list = tmp_list->next;
}
#endif
g_slist_free (old_update_windows);
}
@@ -313,6 +344,12 @@ create_directfb_window (GdkWindowImplDirectFB *impl,
impl->window = window;
#ifndef GDK_DIRECTFB_NO_EXPERIMENTS
//direct_log_printf( NULL, "Initializing (window %p, wimpl %p)\n", win, impl );
dfb_updates_init( &impl->flips, impl->flip_regions, G_N_ELEMENTS(impl->flip_regions) );
#endif
return TRUE;
}
@@ -335,7 +372,7 @@ _gdk_windowing_window_init (void)
private->window_type = GDK_WINDOW_ROOT;
private->state = 0;
private->children = NULL;
impl->drawable.paint_region = NULL;
// impl->drawable.paint_region = NULL;
impl->gdkWindow = _gdk_parent_root;
impl->window = NULL;
impl->drawable.abs_x = 0;
@@ -561,6 +598,9 @@ gdk_directfb_window_new (GdkWindow *parent,
gdk_directfb_event_windows_add (window);
}
if (attributes_mask & GDK_WA_TYPE_HINT)
gdk_window_set_type_hint (window, attributes->type_hint);
return window;
}
@@ -599,7 +639,9 @@ _gdk_windowing_window_destroy (GdkWindow *window,
impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
_gdk_selection_window_destroyed (window);
#if (DIRECTFB_MAJOR_VERSION >= 1)
gdk_directfb_event_windows_remove (window);
#endif
if (window == _gdk_directfb_pointer_grab_window)
gdk_pointer_ungrab (GDK_CURRENT_TIME);
if (window == _gdk_directfb_keyboard_grab_window)
@@ -608,20 +650,23 @@ _gdk_windowing_window_destroy (GdkWindow *window,
if (window == gdk_directfb_focused_window)
gdk_directfb_change_focus (NULL);
if (impl->drawable.surface) {
GdkDrawableImplDirectFB *dimpl = GDK_DRAWABLE_IMPL_DIRECTFB (private->impl);
if(dimpl->cairo_surface) {
cairo_surface_destroy(dimpl->cairo_surface);
dimpl->cairo_surface= NULL;
}
impl->drawable.surface->Release (impl->drawable.surface);
impl->drawable.surface = NULL;
}
if (!recursing && !foreign_destroy && impl->window ) {
impl->window->SetOpacity (impl->window,0);
impl->window->Close(impl->window);
impl->window->Release(impl->window);
}
#if 0 /* let the finalizer kill it */
if (!recursing && !foreign_destroy)
{
if (impl->window)
impl->window->Destroy (impl->window);
impl->window = NULL;
}
#endif
}
/* This function is called when the window is really gone.
@@ -1265,15 +1310,15 @@ _gdk_directfb_move_resize_child (GdkWindow *window,
if (!private->input_only)
{
if (impl->drawable.surface)
{
GdkDrawableImplDirectFB *dimpl;
dimpl = GDK_DRAWABLE_IMPL_DIRECTFB (private->impl);
impl->drawable.surface->Release (impl->drawable.surface);
impl->drawable.surface = NULL;
if (impl->drawable.surface) {
GdkDrawableImplDirectFB *dimpl = GDK_DRAWABLE_IMPL_DIRECTFB (private->impl);
if(dimpl->cairo_surface) {
cairo_surface_destroy(dimpl->cairo_surface);
dimpl->cairo_surface= NULL;
}
impl->drawable.surface->Release (impl->drawable.surface);
impl->drawable.surface = NULL;
}
parent_impl = GDK_WINDOW_IMPL_DIRECTFB (GDK_WINDOW_OBJECT (private->parent)->impl);
@@ -1774,10 +1819,15 @@ gdk_window_set_back_pixmap (GdkWindow *window,
}
else
{
if (pixmap && pixmap != GDK_NO_BG && pixmap != GDK_PARENT_RELATIVE_BG)
g_object_ref (pixmap);
private->bg_pixmap = pixmap;
if (pixmap)
{
g_object_ref (pixmap);
private->bg_pixmap = pixmap;
}
else
{
private->bg_pixmap = GDK_NO_BG;
}
}
}
@@ -2500,7 +2550,7 @@ gdk_window_get_frame_extents (GdkWindow *window,
* Given a directfb window and a subsurface of that window
* create a gdkwindow child wrapper
*/
#if (DIRECTFB_MICRO_VERSION > 25)
#if (DIRECTFB_MAJOR_VERSION >= 1)
GdkWindow *gdk_directfb_create_child_window(GdkWindow *parent,
IDirectFBSurface *subsurface)
{
@@ -2754,9 +2804,9 @@ gdk_window_set_urgency_hint (GdkWindow *window,
static void
gdk_window_impl_directfb_invalidate_maybe_recurse (GdkPaintable *paintable,
GdkRegion *region,
gboolean (*child_func) (GdkWindow *, gpointer),
gpointer user_data)
GdkRegion *region,
gboolean (*child_func) (GdkWindow *, gpointer),
gpointer user_data)
{
GdkWindow *window;
GdkWindowObject *private;
@@ -2768,7 +2818,7 @@ gdk_window_impl_directfb_invalidate_maybe_recurse (GdkPaintable *paintable,
window = wimpl->gdkWindow;
private = (GdkWindowObject *)window;
GdkRegion *visible_region;
GdkRegion visible_region;
GList *tmp_list;
g_return_if_fail (window != NULL);
@@ -2780,69 +2830,65 @@ gdk_window_impl_directfb_invalidate_maybe_recurse (GdkPaintable *paintable,
if (private->input_only || !GDK_WINDOW_IS_MAPPED (window))
return;
visible_region = gdk_drawable_get_visible_region (window);
gdk_region_intersect (visible_region, region);
temp_region_init_rectangle_vals( &visible_region, 0, 0, impl->width, impl->height );
gdk_region_intersect (&visible_region, region);
tmp_list = private->children;
while (tmp_list)
{
GdkWindowObject *child = tmp_list->data;
GdkWindowObject *child = tmp_list->data;
GdkDrawableImplDirectFB *cimpl = (GdkDrawableImplDirectFB *) child->impl;
if (!child->input_only)
{
GdkRegion *child_region;
GdkRectangle child_rect;
gdk_window_get_position ((GdkWindow *)child,
&child_rect.x, &child_rect.y);
gdk_drawable_get_size ((GdkDrawable *)child,
&child_rect.width, &child_rect.height);
{
GdkRegion child_region;
temp_region_init_rectangle_vals( &child_region, child->x, child->y, cimpl->width, cimpl->height );
/* remove child area from the invalid area of the parent */
if (GDK_WINDOW_IS_MAPPED (child) && !child->shaped)
gdk_region_subtract (&visible_region, &child_region);
if (child_func && (*child_func) ((GdkWindow *)child, user_data))
{
gdk_region_offset (region, - child->x, - child->y);
gdk_region_offset (&child_region, - child->x, - child->y);
gdk_region_intersect (&child_region, region);
gdk_window_invalidate_maybe_recurse ((GdkWindow *)child,
&child_region, child_func, user_data);
gdk_region_offset (region, child->x, child->y);
}
child_region = gdk_region_rectangle (&child_rect);
/* remove child area from the invalid area of the parent */
if (GDK_WINDOW_IS_MAPPED (child) && !child->shaped)
gdk_region_subtract (visible_region, child_region);
if (child_func && (*child_func) ((GdkWindow *)child, user_data))
{
gdk_region_offset (region, - child_rect.x, - child_rect.y);
gdk_region_offset (child_region, - child_rect.x, - child_rect.y);
gdk_region_intersect (child_region, region);
gdk_window_invalidate_maybe_recurse ((GdkWindow *)child,
child_region, child_func, user_data);
gdk_region_offset (region, child_rect.x, child_rect.y);
}
gdk_region_destroy (child_region);
}
temp_region_deinit( &child_region );
}
tmp_list = tmp_list->next;
}
if (!gdk_region_empty (visible_region))
if (!gdk_region_empty (&visible_region))
{
if (private->update_area)
{
gdk_region_union (private->update_area, visible_region);
}
{
gdk_region_union (private->update_area, &visible_region);
}
else
{
update_windows = g_slist_prepend (update_windows, window);
private->update_area = gdk_region_copy (visible_region);
gdk_window_schedule_update (window);
}
{
update_windows = g_slist_prepend (update_windows, window);
private->update_area = gdk_region_copy (&visible_region);
gdk_window_schedule_update (window);
}
}
gdk_region_destroy (visible_region);
temp_region_deinit( &visible_region );
}
static void
gdk_window_impl_directfb_process_updates (GdkPaintable *paintable,
gboolean update_children)
gboolean update_children)
{
GdkWindow *window;
GdkWindowObject *private;
@@ -2865,58 +2911,49 @@ gdk_window_impl_directfb_process_updates (GdkPaintable *paintable,
private->update_area = NULL;
if (_gdk_event_func && gdk_window_is_viewable (window))
{
GdkRectangle window_rect;
GdkRegion *expose_region;
GdkRegion *window_region;
gint width, height;
save_region = _gdk_windowing_window_queue_antiexpose (window, update_area);
{
GdkRegion *expose_region;
GdkRegion window_region;
save_region = _gdk_windowing_window_queue_antiexpose (window, update_area);
if (save_region)
expose_region = gdk_region_copy (update_area);
else
expose_region = update_area;
gdk_drawable_get_size (GDK_DRAWABLE (private), &width, &height);
if (save_region)
expose_region = gdk_region_copy (update_area);
else
expose_region = update_area;
temp_region_init_rectangle_vals( &window_region, 0, 0, impl->width, impl->height );
gdk_region_intersect (expose_region,
&window_region);
temp_region_deinit (&window_region);
if (!gdk_region_empty (expose_region) &&
(private->event_mask & GDK_EXPOSURE_MASK))
{
GdkEvent event;
event.expose.type = GDK_EXPOSE;
event.expose.window = g_object_ref (window);
event.expose.send_event = FALSE;
event.expose.count = 0;
event.expose.region = expose_region;
gdk_region_get_clipbox (expose_region, &event.expose.area);
(*_gdk_event_func) (&event, _gdk_event_data);
g_object_unref (window);
}
window_rect.x = 0;
window_rect.y = 0;
window_rect.width = width;
window_rect.height = height;
window_region = gdk_region_rectangle (&window_rect);
gdk_region_intersect (expose_region,
window_region);
gdk_region_destroy (window_region);
if (!gdk_region_empty (expose_region) &&
(private->event_mask & GDK_EXPOSURE_MASK))
{
GdkEvent event;
event.expose.type = GDK_EXPOSE;
event.expose.window = g_object_ref (window);
event.expose.send_event = FALSE;
event.expose.count = 0;
event.expose.region = expose_region;
gdk_region_get_clipbox (expose_region, &event.expose.area);
(*_gdk_event_func) (&event, _gdk_event_data);
g_object_unref (window);
}
if (expose_region != update_area)
gdk_region_destroy (expose_region);
}
if (expose_region != update_area)
gdk_region_destroy (expose_region);
}
if (!save_region)
gdk_region_destroy (update_area);
gdk_region_destroy (update_area);
}
}
static void
gdk_window_impl_directfb_begin_paint_region (GdkPaintable *paintable,
GdkRegion *region)
GdkRegion *region)
{
GdkDrawableImplDirectFB *impl;
GdkWindowImplDirectFB *wimpl;
@@ -2926,16 +2963,29 @@ gdk_window_impl_directfb_begin_paint_region (GdkPaintable *paintable,
g_assert (region != NULL );
wimpl = GDK_WINDOW_IMPL_DIRECTFB (paintable);
impl = (GdkDrawableImplDirectFB *)wimpl;
impl->buffered = TRUE;
impl->paint_depth++;
if (!region)
return;
if (impl->paint_region)
gdk_region_union (impl->paint_region, region);
else
impl->paint_region = gdk_region_copy (region);
if (impl->buffered) {
g_assert( impl->paint_depth > 0 );
gdk_region_union (&impl->paint_region, region);
}
else {
g_assert( impl->paint_depth == 0 );
gdk_directfb_clip_region( GDK_DRAWABLE(paintable), NULL, NULL, &impl->clip_region );
temp_region_init_copy( &impl->paint_region, region );
impl->buffered = TRUE;
}
gdk_region_intersect (&impl->paint_region, &impl->clip_region);
impl->paint_depth++;
for (i = 0; i < region->numRects; i++)
{
@@ -2959,24 +3009,59 @@ gdk_window_impl_directfb_end_paint (GdkPaintable *paintable)
g_return_if_fail (impl->paint_depth > 0);
g_assert( impl->buffered );
impl->paint_depth--;
#ifdef GDK_DIRECTFB_NO_EXPERIMENTS
if (impl->paint_depth == 0)
{
impl->buffered = FALSE;
if (impl->paint_region)
if (impl->paint_region.numRects)
{
DFBRegion reg = { impl->paint_region->extents.x1,
impl->paint_region->extents.y1,
impl->paint_region->extents.x2 ,
impl->paint_region->extents.y2 };
DFBRegion reg = { impl->paint_region.extents.x1,
impl->paint_region.extents.y1,
impl->paint_region.extents.x2 ,
impl->paint_region.extents.y2 };
impl->surface->Flip(impl->surface, &reg,0);
gdk_region_destroy (impl->paint_region);
impl->paint_region = NULL;
impl->surface->Flip( impl->surface, &reg, 0 );
temp_region_reset( &impl->paint_region );
}
}
#else
if (impl->paint_depth == 0) {
impl->buffered = FALSE;
temp_region_deinit( &impl->clip_region );
if (impl->paint_region.numRects) {
GdkWindow *window = GDK_WINDOW( impl->wrapper );
if (GDK_IS_WINDOW(window)) {
GdkWindowObject *top = GDK_WINDOW_OBJECT( gdk_window_get_toplevel( window ) );
if (top) {
DFBRegion reg;
GdkWindowImplDirectFB *wimpl = GDK_WINDOW_IMPL_DIRECTFB (top->impl);
reg.x1 = impl->abs_x - top->x + impl->paint_region.extents.x1;
reg.y1 = impl->abs_y - top->y + impl->paint_region.extents.y1;
reg.x2 = impl->abs_x - top->x + impl->paint_region.extents.x2 - 1;
reg.y2 = impl->abs_y - top->y + impl->paint_region.extents.y2 - 1;
//direct_log_printf( NULL, "Adding bounding box of paint: %d,%d - %dx%d (top %p, wimpl %p)\n",
// DFB_RECTANGLE_VALS_FROM_REGION( &reg ), top, wimpl );
dfb_updates_add( &wimpl->flips, &reg );
}
}
temp_region_reset( &impl->paint_region );
}
}
#endif
}

View File

@@ -328,7 +328,8 @@ gdk_init (int *argc, char ***argv)
{
if (!gdk_init_check (argc, argv))
{
g_warning ("cannot open display: %s", gdk_get_display_arg_name ());
const char *display_name = gdk_get_display_arg_name ();
g_warning ("cannot open display: %s", display_name ? display_name : "");
exit(1);
}
}

View File

@@ -137,15 +137,12 @@ gdk_threads_set_lock_functions
#endif
#if IN_HEADER(__GDK_H__)
#if IN_FILE(__GDK_INPUT_C__)
#if IN_FILE(__GDK_EVENTS_C__)
#ifndef GDK_DISABLE_DEPRECATED
gdk_input_add
gdk_input_remove
gdk_input_add_full
#endif
#ifdef GTK_COMPILATION
gdk_input_add_full
#endif
#endif
#endif
@@ -642,9 +639,6 @@ gdk_window_clear_area
gdk_window_clear_area_e
gdk_window_constrain_size
gdk_window_destroy
#ifndef GDK_DISABLE_DEPRECATED
gdk_window_destroy_notify
#endif
gdk_window_end_paint
gdk_window_foreign_new
gdk_window_freeze_updates
@@ -1091,6 +1085,12 @@ gdk_synthesize_window_state
#endif
#endif
#if IN_HEADER(__GDK_PRIVATE_H__)
#if IN_FILE(__GDK_WINDOW_X11_C__)
gdk_window_destroy_notify
#endif
#endif
#ifdef GDK_WINDOWING_WIN32
#if IN_HEADER(__GDK_WIN32_H__)
#if IN_FILE(__GDK_WIN32ID_C__)

View File

@@ -305,7 +305,7 @@ gdk_keyboard_ungrab (guint32 time)
/**
* gdk_beep:
*
* Emits a short beep.
* Emits a short beep on the default display.
**/
void
gdk_beep (void)

View File

@@ -751,13 +751,17 @@ gdk_draw_pixbuf (GdkDrawable *drawable,
g_return_if_fail (gc == NULL || GDK_IS_GC (gc));
g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
if (width == 0 || height == 0)
return;
if (width == -1)
width = gdk_pixbuf_get_width (pixbuf);
if (height == -1)
height = gdk_pixbuf_get_height (pixbuf);
GDK_DRAWABLE_GET_CLASS (drawable)->draw_pixbuf (drawable, gc, pixbuf,
src_x, src_y, dest_x, dest_y, width, height,
src_x, src_y, dest_x, dest_y,
width, height,
dither, x_dither, y_dither);
}
@@ -989,7 +993,7 @@ gdk_draw_trapezoids (GdkDrawable *drawable,
cairo_move_to (cr, trapezoids[i].x11, trapezoids[i].y1);
cairo_line_to (cr, trapezoids[i].x21, trapezoids[i].y1);
cairo_line_to (cr, trapezoids[i].x22, trapezoids[i].y2);
cairo_line_to (cr, trapezoids[i].x21, trapezoids[i].y2);
cairo_line_to (cr, trapezoids[i].x12, trapezoids[i].y2);
cairo_close_path (cr);
}

View File

@@ -30,6 +30,7 @@
#include "gdktypes.h"
#include "gdkprivate.h"
#include "gdkalias.h"
guint _gdk_debug_flags = 0;
gint _gdk_error_code = 0;

View File

@@ -28,9 +28,8 @@
#include "gdkrgb.h"
#include "gdkprivate.h"
#include "gdkscreen.h"
#include "gdkalias.h"
#include "gdkintl.h"
#include "gdkalias.h"
#define GDK_INFO_KEY "gdk-info"
@@ -900,8 +899,22 @@ gdk_draw_layout_line_with_colors (GdkDrawable *drawable,
PangoMatrix tmp_matrix;
tmp_matrix = *matrix;
tmp_matrix.x0 = x;
tmp_matrix.y0 = y;
tmp_matrix.x0 += x;
tmp_matrix.y0 += y;
pango_renderer_set_matrix (renderer, &tmp_matrix);
x = 0;
y = 0;
}
/* Fall back to introduce a matrix if the coords would scale out of range.
* The x and y here will be added to in-layout coordinates. So we cannot
* support the entire range here safely. So, we just accept the middle half
* and use fallback for the rest. */
else if (GDK_PANGO_UNITS_OVERFLOWS (x, y))
{
PangoMatrix tmp_matrix = PANGO_MATRIX_INIT;
tmp_matrix.x0 += x;
tmp_matrix.y0 += y;
pango_renderer_set_matrix (renderer, &tmp_matrix);
x = 0;
@@ -1021,6 +1034,16 @@ gdk_draw_layout_with_colors (GdkDrawable *drawable,
tmp_matrix.y0 += y - rect.y;
pango_renderer_set_matrix (renderer, &tmp_matrix);
x = 0;
y = 0;
}
else if (GDK_PANGO_UNITS_OVERFLOWS (x, y))
{
PangoMatrix tmp_matrix = PANGO_MATRIX_INIT;
tmp_matrix.x0 = x;
tmp_matrix.y0 = y;
pango_renderer_set_matrix (renderer, &tmp_matrix);
x = 0;
y = 0;
}

View File

@@ -50,6 +50,16 @@ void gdk_synthesize_window_state (GdkWindow *window,
GdkWindowState unset_flags,
GdkWindowState set_flags);
/* Tests whether a pair of x,y may cause overflows when converted to Pango
* units (multiplied by PANGO_SCALE). We don't allow the entire range, leave
* some space for additions afterwards, to be safe...
*/
#define GDK_PANGO_UNITS_OVERFLOWS(x,y) (G_UNLIKELY ( \
(y) >= PANGO_PIXELS (G_MAXINT-PANGO_SCALE)/2 || \
(x) >= PANGO_PIXELS (G_MAXINT-PANGO_SCALE)/2 || \
(y) <=-PANGO_PIXELS (G_MAXINT-PANGO_SCALE)/2 || \
(x) <=-PANGO_PIXELS (G_MAXINT-PANGO_SCALE)/2))
G_END_DECLS
#endif /* __GDK_PRIVATE_H__ */

View File

@@ -83,14 +83,20 @@ struct _GdkRegion
(idRect)->extents.y2 = (r)->y2;\
}
#define GROWREGION(reg, nRects){ \
if ((reg)->rects == &(reg)->extents) { \
(reg)->rects = g_new (GdkRegionBox, (nRects)); \
(reg)->rects[0] = reg->extents; \
} \
else \
(reg)->rects = g_renew (GdkRegionBox, (reg)->rects, (nRects)); \
(reg)->size = (nRects); \
#define GROWREGION(reg, nRects) { \
if ((nRects) == 0) { \
if ((reg)->rects != &(reg)->extents) { \
g_free ((reg)->rects); \
(reg)->rects = &(reg)->extents; \
} \
} \
else if ((reg)->rects == &(reg)->extents) { \
(reg)->rects = g_new (GdkRegionBox, (nRects)); \
(reg)->rects[0] = (reg)->extents; \
} \
else \
(reg)->rects = g_renew (GdkRegionBox, (reg)->rects, (nRects)); \
(reg)->size = (nRects); \
}
/*

View File

@@ -218,7 +218,7 @@ _gdk_paintable_get_type (void)
if (!paintable_type)
{
static const GTypeInfo paintable_info =
const GTypeInfo paintable_info =
{
sizeof (GdkPaintableIface), /* class_size */
NULL, /* base_init */
@@ -981,10 +981,13 @@ gdk_window_begin_paint_region (GdkWindow *window,
if (GDK_WINDOW_DESTROYED (window))
return;
if (GDK_IS_PAINTABLE (private->impl) &&
GDK_PAINTABLE_GET_IFACE (private->impl)->begin_paint_region)
if (GDK_IS_PAINTABLE (private->impl))
{
GDK_PAINTABLE_GET_IFACE (private->impl)->begin_paint_region (GDK_PAINTABLE (private->impl), region);
GdkPaintableIface *iface = GDK_PAINTABLE_GET_IFACE (private->impl);
if (iface->begin_paint_region)
iface->begin_paint_region ((GdkPaintable*)private->impl, region);
return;
}
@@ -1049,10 +1052,12 @@ gdk_window_end_paint (GdkWindow *window)
if (GDK_WINDOW_DESTROYED (window))
return;
if (GDK_IS_PAINTABLE (private->impl) &&
GDK_PAINTABLE_GET_IFACE (private->impl)->end_paint)
if (GDK_IS_PAINTABLE (private->impl))
{
GDK_PAINTABLE_GET_IFACE (private->impl)->end_paint (GDK_PAINTABLE (private->impl));
GdkPaintableIface *iface = GDK_PAINTABLE_GET_IFACE (private->impl);
if (iface->end_paint)
iface->end_paint ((GdkPaintable*)private->impl);
return;
}
@@ -1738,6 +1743,15 @@ gdk_window_draw_glyphs_transformed (GdkDrawable *drawable,
tmp_matrix.y0 -= y_offset;
matrix = &tmp_matrix;
}
else if (GDK_PANGO_UNITS_OVERFLOWS (x_offset, y_offset))
{
PangoMatrix identity = PANGO_MATRIX_INIT;
tmp_matrix = identity;
tmp_matrix.x0 -= x_offset;
tmp_matrix.y0 -= y_offset;
matrix = &tmp_matrix;
}
else
{
x -= x_offset * PANGO_SCALE;
@@ -2419,10 +2433,13 @@ gdk_window_process_updates (GdkWindow *window,
g_return_if_fail (window != NULL);
g_return_if_fail (GDK_IS_WINDOW (window));
if (GDK_IS_PAINTABLE (private->impl) &&
GDK_PAINTABLE_GET_IFACE (private->impl)->process_updates)
if (GDK_IS_PAINTABLE (private->impl))
{
GDK_PAINTABLE_GET_IFACE (private->impl)->process_updates (GDK_PAINTABLE (private->impl), update_children);
GdkPaintableIface *iface = GDK_PAINTABLE_GET_IFACE (private->impl);
if (iface->process_updates)
iface->process_updates ((GdkPaintable*)private->impl, update_children);
return;
}
@@ -2555,11 +2572,13 @@ gdk_window_invalidate_maybe_recurse (GdkWindow *window,
if (private->input_only || !GDK_WINDOW_IS_MAPPED (window))
return;
if (GDK_IS_PAINTABLE (private->impl) &&
GDK_PAINTABLE_GET_IFACE (private->impl)->invalidate_maybe_recurse)
if (GDK_IS_PAINTABLE (private->impl))
{
GDK_PAINTABLE_GET_IFACE (private->impl)->invalidate_maybe_recurse (GDK_PAINTABLE (private->impl), region,
child_func, user_data);
GdkPaintableIface *iface = GDK_PAINTABLE_GET_IFACE (private->impl);
if (iface->invalidate_maybe_recurse)
iface->invalidate_maybe_recurse ((GdkPaintable*)private->impl,
region, child_func, user_data);
return;
}

View File

@@ -85,14 +85,15 @@ typedef enum
*/
typedef enum
{
GDK_WA_TITLE = 1 << 1,
GDK_WA_X = 1 << 2,
GDK_WA_Y = 1 << 3,
GDK_WA_CURSOR = 1 << 4,
GDK_WA_COLORMAP = 1 << 5,
GDK_WA_VISUAL = 1 << 6,
GDK_WA_WMCLASS = 1 << 7,
GDK_WA_NOREDIR = 1 << 8
GDK_WA_TITLE = 1 << 1,
GDK_WA_X = 1 << 2,
GDK_WA_Y = 1 << 3,
GDK_WA_CURSOR = 1 << 4,
GDK_WA_COLORMAP = 1 << 5,
GDK_WA_VISUAL = 1 << 6,
GDK_WA_WMCLASS = 1 << 7,
GDK_WA_NOREDIR = 1 << 8,
GDK_WA_TYPE_HINT = 1 << 9
} GdkWindowAttributesType;
/* Size restriction enumeration.
@@ -213,6 +214,7 @@ struct _GdkWindowAttr
gchar *wmclass_name;
gchar *wmclass_class;
gboolean override_redirect;
GdkWindowTypeHint type_hint;
};
struct _GdkGeometry

View File

@@ -268,6 +268,9 @@ gdk_window_new (GdkWindow *parent,
if (parent_private)
parent_private->children = g_list_prepend (parent_private->children, window);
if (attributes_mask & GDK_WA_TYPE_HINT)
gdk_window_set_type_hint (window, attributes->type_hint);
return window;
}

17
gdk/pltcheck.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
LANG=C
status=0
if ! which readelf 2>/dev/null >/dev/null; then
echo "'readelf' not found; skipping test"
exit 0
fi
for so in .libs/lib*.so; do
echo Checking $so for local PLT entries
readelf -r $so | grep 'JU\?MP_SLOT' | grep -v 'gdk_pixbuf' | grep gdk && status=1
done
exit $status

View File

@@ -691,6 +691,9 @@ gdk_window_new (GdkWindow *parent,
GDK_QUARTZ_RELEASE_POOL;
if (attributes_mask & GDK_WA_TYPE_HINT)
gdk_window_set_type_hint (window, attributes->type_hint);
return window;
}

View File

@@ -16,16 +16,16 @@ INCLUDES = \
LDADDS = $(GDK_DEP_LIBS)
if HAVE_WINTAB
libwntab32x_a = .libs/libwntab32x.a
libwntab32x_a = libwntab32x.a
.libs/libwntab32x.a: $(WINTAB_LIB)
libwntab32x.a: $(WINTAB_LIB)
cp $< $@
endif
if HAVE_IE55
libie55uuid_a = .libs/libie55uuid.a
libie55uuid_a = libie55uuid.a
.libs/libie55uuid.a: $(IE55_UUID_LIB)
libie55uuid.a: $(IE55_UUID_LIB)
cp $< $@
endif
@@ -37,9 +37,7 @@ SUBDIRS=rc
EXTRA_DIST = \
bdfcursor.c \
makefile.msc \
libie55uuid.la \
libwntab32x.la
makefile.msc
libgdk_win32_la_SOURCES = \
xcursors.h \

View File

@@ -47,7 +47,9 @@ typedef struct {
static GSList *fonts = NULL;
static GSList *cursors = NULL;
gint dw,dh;
static gint dw,dh;
static gboolean debug = FALSE;
#define HEX(c) (((c) >= '0' && (c) <= '9') ? \
((c) - '0') : (toupper(c) - 'A' + 10))
@@ -74,10 +76,11 @@ cursor_info_t *ci;
for (y = 0; y < ci->height; y++)
{
printf("/* ");
for (x = 0; x < ci->width; x++)
{
if (ci->hotx == x && ci->hoty == y)
printf ("o");
printf("o");
else
switch (ci->data[y*ci->width+x])
{
@@ -92,7 +95,7 @@ cursor_info_t *ci;
break;
}
}
printf("\n");
printf(" */\n");
}
}
@@ -144,6 +147,8 @@ gchar *fname;
{
font_info_t *nfi;
if (debug)
printf(" %*s*/\n", dw, "");
startchar = FALSE;
startbitmap = FALSE;
@@ -171,13 +176,19 @@ gchar *fname;
bitmap[px+cx] =
(mask & HEX(line[cx/4])) != 0;
/*printf(bitmap[px+cx] ? "X" : " ");*/
if (debug)
printf(bitmap[px+cx] ? "X" : " ");
}
py++;
/*printf("\n");*/
if (debug)
printf(" %*s*/\n/* %*s", dw-w, "", dw+dx, "");
}
else if (!strncasecmp("BBX ", line, 4))
{
sscanf(p+4, "%d %d %d %d", &w, &h, &x, &y);
if (debug)
printf("/* %s: */\n/* %*s", charname, dw+dx, "");
}
else if (!strncasecmp("ENCODING ", line, 9))
{
if (sscanf(p+9, "%d %d", &tmp, &id) != 2)
@@ -268,7 +279,7 @@ static void compose_cursors_from_fonts()
{
GSList *l;
for (l = g_slist_copy(fonts); l; l = g_slist_remove_link(l,l))
for (l = g_slist_copy (fonts); l; l = g_slist_delete_link (l,l))
{
font_info_t *fi = l->data;
gchar *name;
@@ -346,7 +357,8 @@ static int dump_cursors()
for (ptr = cursors; ptr; ptr = ptr->next)
{
/* print_cursor(ptr->data); */
if (debug)
print_cursor(ptr->data);
fprintf(f, "%s, \n", dump_cursor(ptr->data));
}
@@ -366,6 +378,9 @@ gchar **argv;
return -1;
}
if (g_getenv ("BDFCURSOR_DEBUG") != NULL)
debug = TRUE;
if (read_bdf_font(argv[1]) || !fonts)
{
printf("Error reading font\n");

3385
gdk/win32/cursor.bdf Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -25,9 +25,13 @@
#include "gdkcursor.h"
#include "gdkprivate-win32.h"
#ifdef __MINGW32__
#include <w32api.h>
#endif
#include "xcursors.h"
#if defined(__MINGW32__) || (defined(_MSC_VER) && (WINVER < 0x0500))
#if (defined(__MINGW32__) && (__W32API_MAJOR_VERSION < 3 || (__W32API_MAJOR_VERSION == 3 && __W32API_MINOR_VERSION < 8))) || (defined(_MSC_VER) && (WINVER < 0x0500))
typedef struct {
DWORD bV5Size;
LONG bV5Width;
@@ -71,6 +75,12 @@ _gdk_win32_data_to_wcursor (GdkCursorType cursor_type)
if (i >= G_N_ELEMENTS (cursors) || !cursors[i].name)
return NULL;
/* use real win32 cursor if possible */
if (cursors[i].builtin)
{
return LoadCursor (NULL, cursors[i].builtin);
}
w = GetSystemMetrics (SM_CXCURSOR);
h = GetSystemMetrics (SM_CYCURSOR);
@@ -421,7 +431,6 @@ gdk_win32_icon_to_pixbuf_libgtk_only (HICON hicon)
HDC hdc;
gchar *pixels, *bits, buf[32];
gint rowstride, x, y, w, h;
gboolean no_alpha;
if (!GDI_CALL (GetIconInfo, (hicon, &ii)))
return NULL;
@@ -435,55 +444,135 @@ gdk_win32_icon_to_pixbuf_libgtk_only (HICON hicon)
memset (&bmi, 0, sizeof (bmi));
bmi.bi.biSize = sizeof (bmi.bi);
if (!GDI_CALL (GetDIBits, (hdc, ii.hbmColor, 0, 1, NULL, (BITMAPINFO *)&bmi, DIB_RGB_COLORS)))
goto out1;
w = bmi.bi.biWidth;
h = bmi.bi.biHeight;
bmi.bi.biBitCount = 32;
bmi.bi.biCompression = BI_RGB;
bmi.bi.biHeight = -h;
bits = g_malloc0 (4 * w * h);
/* color data */
if (!GDI_CALL (GetDIBits, (hdc, ii.hbmColor, 0, h, bits, (BITMAPINFO *)&bmi, DIB_RGB_COLORS)))
goto out2;
pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, w, h);
pixels = gdk_pixbuf_get_pixels (pixbuf);
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
no_alpha = TRUE;
for (y = 0; y < h; y++)
if (ii.hbmColor != NULL)
{
for (x = 0; x < w; x++)
{
pixels[2] = bits[(x+y*w) * 4];
pixels[1] = bits[(x+y*w) * 4 + 1];
pixels[0] = bits[(x+y*w) * 4 + 2];
pixels[3] = bits[(x+y*w) * 4 + 3];
if (no_alpha && pixels[3] > 0)
no_alpha = FALSE;
pixels += 4;
}
pixels += (w * 4 - rowstride);
}
/* Colour cursor */
/* mask */
if (no_alpha &&
GDI_CALL (GetDIBits, (hdc, ii.hbmMask, 0, h, bits, (BITMAPINFO *)&bmi, DIB_RGB_COLORS)))
{
gboolean no_alpha;
if (!GDI_CALL (GetDIBits, (hdc, ii.hbmColor, 0, 1, NULL, (BITMAPINFO *)&bmi, DIB_RGB_COLORS)))
goto out1;
w = bmi.bi.biWidth;
h = bmi.bi.biHeight;
bmi.bi.biBitCount = 32;
bmi.bi.biCompression = BI_RGB;
bmi.bi.biHeight = -h;
bits = g_malloc0 (4 * w * h);
/* color data */
if (!GDI_CALL (GetDIBits, (hdc, ii.hbmColor, 0, h, bits, (BITMAPINFO *)&bmi, DIB_RGB_COLORS)))
goto out2;
pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, w, h);
pixels = gdk_pixbuf_get_pixels (pixbuf);
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
no_alpha = TRUE;
for (y = 0; y < h; y++)
{
for (x = 0; x < w; x++)
{
pixels[3] = 255 - bits[(x + y * w) * 4];
pixels[2] = bits[(x+y*w) * 4];
pixels[1] = bits[(x+y*w) * 4 + 1];
pixels[0] = bits[(x+y*w) * 4 + 2];
pixels[3] = bits[(x+y*w) * 4 + 3];
if (no_alpha && pixels[3] > 0)
no_alpha = FALSE;
pixels += 4;
}
pixels += (w * 4 - rowstride);
}
/* mask */
if (no_alpha &&
GDI_CALL (GetDIBits, (hdc, ii.hbmMask, 0, h, bits, (BITMAPINFO *)&bmi, DIB_RGB_COLORS)))
{
pixels = gdk_pixbuf_get_pixels (pixbuf);
for (y = 0; y < h; y++)
{
for (x = 0; x < w; x++)
{
pixels[3] = 255 - bits[(x + y * w) * 4];
pixels += 4;
}
pixels += (w * 4 - rowstride);
}
}
}
else
{
/* B&W cursor */
int bpl;
if (!GDI_CALL (GetDIBits, (hdc, ii.hbmMask, 0, 0, NULL, (BITMAPINFO *)&bmi, DIB_RGB_COLORS)))
goto out1;
w = bmi.bi.biWidth;
h = ABS (bmi.bi.biHeight) / 2;
bits = g_malloc0 (4 * w * h);
/* masks */
if (!GDI_CALL (GetDIBits, (hdc, ii.hbmMask, 0, h*2, bits, (BITMAPINFO *)&bmi, DIB_RGB_COLORS)))
goto out2;
pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, w, h);
pixels = gdk_pixbuf_get_pixels (pixbuf);
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
bpl = ((w-1)/32 + 1)*4;
#if 0
for (y = 0; y < h*2; y++)
{
for (x = 0; x < w; x++)
{
const gint bit = 7 - (x % 8);
printf ("%c ", ((bits[bpl*y+x/8])&(1<<bit)) ? ' ' : 'X');
}
printf ("\n");
}
#endif
for (y = 0; y < h; y++)
{
const guchar *andp, *xorp;
if (bmi.bi.biHeight < 0)
{
andp = bits + bpl*y;
xorp = bits + bpl*(h+y);
}
else
{
andp = bits + bpl*(h-y-1);
xorp = bits + bpl*(h+h-y-1);
}
for (x = 0; x < w; x++)
{
const gint bit = 7 - (x % 8);
if ((*andp) & (1<<bit))
{
if ((*xorp) & (1<<bit))
pixels[2] = pixels[1] = pixels[0] = 0xFF;
else
pixels[2] = pixels[1] = pixels[0] = 0;
pixels[3] = 0xFF;
}
else
{
pixels[2] = pixels[1] = pixels[0] = 0;
pixels[3] = 0;
}
pixels += 4;
if (bit == 0)
{
andp++;
xorp++;
}
}
pixels += (w * 4 - rowstride);
}
}
g_snprintf (buf, sizeof (buf), "%ld", ii.xHotspot);

View File

@@ -1,6 +1,7 @@
/* GDK - The GIMP Drawing Kit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
* Copyright (C) 1998-2002 Tor Lillqvist
* Copyright (C) 2007-2008 Cody Russell
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -108,6 +109,7 @@ static gboolean gdk_event_dispatch (GSource *source,
gpointer user_data);
static void append_event (GdkEvent *event);
static gboolean is_modally_blocked (GdkWindow *window);
/* Private variable declarations
*/
@@ -619,6 +621,9 @@ gdk_pointer_grab (GdkWindow *window,
gdk_window_get_origin (confine_to, &x, &y);
gdk_drawable_get_size (confine_to, &width, &height);
x -= _gdk_offset_x;
y -= _gdk_offset_y;
rect.left = x;
rect.top = y;
rect.right = x + width;
@@ -1331,6 +1336,73 @@ apply_filters (GdkWindow *window,
return result;
}
static void
show_window_recurse (GdkWindow *window, gboolean hide_window)
{
GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl);
GSList *children = impl->transient_children;
GdkWindow *child = NULL;
if (!impl->changing_state)
{
impl->changing_state = TRUE;
if (children != NULL)
{
while (children != NULL)
{
child = children->data;
show_window_recurse (child, hide_window);
children = g_slist_next (children);
}
}
if (GDK_WINDOW_IS_MAPPED (window))
{
if (!hide_window)
{
if (GDK_WINDOW_OBJECT (window)->state & GDK_WINDOW_STATE_ICONIFIED)
{
ShowWindow (GDK_WINDOW_HWND (window), SW_RESTORE);
}
}
else
{
ShowWindow (GDK_WINDOW_HWND (window), SW_MINIMIZE);
}
}
impl->changing_state = FALSE;
}
}
static void
show_window_internal (GdkWindow *window, gboolean hide_window)
{
GdkWindow *tmp_window = NULL;
GdkWindowImplWin32 *tmp_impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl);
if (!tmp_impl->changing_state)
{
/* Find the top-level window in our transient chain. */
while (tmp_impl->transient_owner != NULL)
{
tmp_window = tmp_impl->transient_owner;
tmp_impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (tmp_window)->impl);
}
/* If we couldn't find one, use the window provided. */
if (tmp_window == NULL)
{
tmp_window = window;
}
/* Recursively show/hide every window in the chain. */
show_window_recurse (tmp_window, hide_window);
}
}
static gboolean
gdk_window_is_ancestor (GdkWindow *ancestor,
GdkWindow *window)
@@ -1759,6 +1831,13 @@ static gboolean
doesnt_want_key (gint mask,
MSG *msg)
{
GdkWindow *modal_current = _gdk_modal_current ();
GdkWindow *window = (GdkWindow *) gdk_win32_handle_table_lookup ((GdkNativeWindow)msg->hwnd);
gboolean modally_blocked = modal_current != NULL ? gdk_window_get_toplevel (window) != modal_current : FALSE;
if (modally_blocked == TRUE)
return TRUE;
return (((msg->message == WM_KEYUP || msg->message == WM_SYSKEYUP) &&
!(mask & GDK_KEY_RELEASE_MASK)) ||
((msg->message == WM_KEYDOWN || msg->message == WM_SYSKEYDOWN) &&
@@ -1849,139 +1928,6 @@ handle_configure_event (MSG *msg,
}
}
static void
erase_background (GdkWindow *window,
HDC hdc)
{
HDC bgdc = NULL;
HBRUSH hbr = NULL;
HPALETTE holdpal = NULL;
RECT rect;
COLORREF bg;
GdkColormap *colormap;
GdkColormapPrivateWin32 *colormap_private;
int x, y;
int x_offset, y_offset;
if (((GdkWindowObject *) window)->input_only ||
((GdkWindowObject *) window)->bg_pixmap == GDK_NO_BG ||
GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->position_info.no_bg)
{
return;
}
colormap = gdk_drawable_get_colormap (window);
if (colormap &&
(colormap->visual->type == GDK_VISUAL_PSEUDO_COLOR ||
colormap->visual->type == GDK_VISUAL_STATIC_COLOR))
{
int k;
colormap_private = GDK_WIN32_COLORMAP_DATA (colormap);
if (!(holdpal = SelectPalette (hdc, colormap_private->hpal, FALSE)))
WIN32_GDI_FAILED ("SelectPalette");
else if ((k = RealizePalette (hdc)) == GDI_ERROR)
WIN32_GDI_FAILED ("RealizePalette");
else if (k > 0)
GDK_NOTE (COLORMAP, g_print ("erase_background: realized %p: %d colors\n",
colormap_private->hpal, k));
}
x_offset = y_offset = 0;
while (window && ((GdkWindowObject *) window)->bg_pixmap == GDK_PARENT_RELATIVE_BG)
{
/* If this window should have the same background as the parent,
* fetch the parent. (And if the same goes for the parent, fetch
* the grandparent, etc.)
*/
x_offset += ((GdkWindowObject *) window)->x;
y_offset += ((GdkWindowObject *) window)->y;
window = GDK_WINDOW (((GdkWindowObject *) window)->parent);
}
if (GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->position_info.no_bg)
{
/* Improves scolling effect, e.g. main buttons of testgtk */
return;
}
GetClipBox (hdc, &rect);
if (((GdkWindowObject *) window)->bg_pixmap == NULL)
{
bg = _gdk_win32_colormap_color (GDK_DRAWABLE_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->colormap,
((GdkWindowObject *) window)->bg_color.pixel);
if (!(hbr = CreateSolidBrush (bg)))
WIN32_GDI_FAILED ("CreateSolidBrush");
else if (!FillRect (hdc, &rect, hbr))
WIN32_GDI_FAILED ("FillRect");
if (hbr != NULL)
DeleteObject (hbr);
}
else if (((GdkWindowObject *) window)->bg_pixmap != GDK_NO_BG)
{
GdkPixmap *pixmap = ((GdkWindowObject *) window)->bg_pixmap;
GdkPixmapImplWin32 *pixmap_impl = GDK_PIXMAP_IMPL_WIN32 (GDK_PIXMAP_OBJECT (pixmap)->impl);
if (x_offset == 0 && y_offset == 0 &&
pixmap_impl->width <= 8 && pixmap_impl->height <= 8)
{
if (!(hbr = CreatePatternBrush (GDK_PIXMAP_HBITMAP (pixmap))))
WIN32_GDI_FAILED ("CreatePatternBrush");
else if (!FillRect (hdc, &rect, hbr))
WIN32_GDI_FAILED ("FillRect");
if (hbr != NULL)
DeleteObject (hbr);
}
else
{
HGDIOBJ oldbitmap;
if (!(bgdc = CreateCompatibleDC (hdc)))
{
WIN32_GDI_FAILED ("CreateCompatibleDC");
return;
}
if (!(oldbitmap = SelectObject (bgdc, GDK_PIXMAP_HBITMAP (pixmap))))
{
WIN32_GDI_FAILED ("SelectObject");
DeleteDC (bgdc);
return;
}
x = -x_offset;
while (x < rect.right)
{
if (x + pixmap_impl->width >= rect.left)
{
y = -y_offset;
while (y < rect.bottom)
{
if (y + pixmap_impl->height >= rect.top)
{
if (!BitBlt (hdc, x, y,
pixmap_impl->width, pixmap_impl->height,
bgdc, 0, 0, SRCCOPY))
{
WIN32_GDI_FAILED ("BitBlt");
SelectObject (bgdc, oldbitmap);
DeleteDC (bgdc);
return;
}
}
y += pixmap_impl->height;
}
}
x += pixmap_impl->width;
}
SelectObject (bgdc, oldbitmap);
DeleteDC (bgdc);
}
}
}
GdkRegion *
_gdk_win32_hrgn_to_region (HRGN hrgn)
{
@@ -2931,12 +2877,28 @@ gdk_event_translate (MSG *msg,
break;
case WM_MOUSEACTIVATE:
if (gdk_window_get_window_type (window) == GDK_WINDOW_TEMP
|| !((GdkWindowObject *)window)->accept_focus)
{
*ret_valp = MA_NOACTIVATE;
return_val = TRUE;
}
{
GdkWindow *tmp;
if (gdk_window_get_window_type (window) == GDK_WINDOW_TEMP
|| !((GdkWindowObject *)window)->accept_focus)
{
*ret_valp = MA_NOACTIVATE;
return_val = TRUE;
}
tmp = _gdk_modal_current ();
if (tmp != NULL)
{
if (gdk_window_get_toplevel (window) != tmp)
{
*ret_valp = MA_NOACTIVATEANDEAT;
return_val = TRUE;
}
}
}
break;
case WM_KILLFOCUS:
@@ -2968,7 +2930,6 @@ gdk_event_translate (MSG *msg,
if (GDK_WINDOW_DESTROYED (window))
break;
erase_background (window, (HDC) msg->wParam);
return_val = TRUE;
*ret_valp = 1;
break;
@@ -3017,18 +2978,42 @@ gdk_event_translate (MSG *msg,
event->any.window = window;
append_event (event);
if (event->any.type == GDK_UNMAP &&
p_grab_window == window)
gdk_pointer_ungrab (msg->time);
if (event->any.type == GDK_UNMAP &&
k_grab_window == window)
gdk_keyboard_ungrab (msg->time);
if (event->any.type == GDK_UNMAP)
{
impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl);
if (impl->transient_owner && GetForegroundWindow () == GDK_WINDOW_HWND (window))
{
SetForegroundWindow (GDK_WINDOW_HWND (impl->transient_owner));
}
if (p_grab_window == window)
{
gdk_pointer_ungrab (msg->time);
}
if (k_grab_window == window)
{
gdk_keyboard_ungrab (msg->time);
}
}
return_val = TRUE;
break;
case WM_SYSCOMMAND:
switch (msg->wParam)
{
case SC_MINIMIZE:
case SC_RESTORE:
show_window_internal (window, msg->wParam == SC_MINIMIZE ? TRUE : FALSE);
break;
}
break;
case WM_SIZE:
GDK_NOTE (EVENTS,
g_print (" %s %dx%d",
@@ -3052,6 +3037,7 @@ gdk_event_translate (MSG *msg,
gdk_synthesize_window_state (window,
GDK_WINDOW_STATE_WITHDRAWN,
GDK_WINDOW_STATE_ICONIFIED);
show_window_internal (window, TRUE);
}
else if ((msg->wParam == SIZE_RESTORED ||
msg->wParam == SIZE_MAXIMIZED) &&
@@ -3064,16 +3050,25 @@ gdk_event_translate (MSG *msg,
handle_configure_event (msg, window);
if (msg->wParam == SIZE_RESTORED)
gdk_synthesize_window_state (window,
GDK_WINDOW_STATE_ICONIFIED |
GDK_WINDOW_STATE_MAXIMIZED |
withdrawn_bit,
0);
{
gdk_synthesize_window_state (window,
GDK_WINDOW_STATE_ICONIFIED |
GDK_WINDOW_STATE_MAXIMIZED |
withdrawn_bit,
0);
if (GDK_WINDOW_TYPE (window) != GDK_WINDOW_TEMP && !GDK_WINDOW_IS_MAPPED (window))
{
show_window_internal (window, FALSE);
}
}
else if (msg->wParam == SIZE_MAXIMIZED)
gdk_synthesize_window_state (window,
GDK_WINDOW_STATE_ICONIFIED |
withdrawn_bit,
GDK_WINDOW_STATE_MAXIMIZED);
{
gdk_synthesize_window_state (window,
GDK_WINDOW_STATE_ICONIFIED |
withdrawn_bit,
GDK_WINDOW_STATE_MAXIMIZED);
}
if (((GdkWindowObject *) window)->resize_count > 1)
((GdkWindowObject *) window)->resize_count -= 1;
@@ -3109,6 +3104,7 @@ gdk_event_translate (MSG *msg,
((GdkWindowObject *) window)->resize_count -= 1;
handle_configure_event (msg, window);
g_main_context_iteration (NULL, FALSE);
/* Dispatch main loop - to realize resizes... */
handle_stuff_while_moving_or_resizing ();
@@ -3328,6 +3324,7 @@ gdk_event_translate (MSG *msg,
break;
}
}
*ret_valp = TRUE;
return_val = TRUE;
GDK_NOTE (EVENTS, g_print (" (handled ASPECT: %s)",
@@ -3413,6 +3410,13 @@ gdk_event_translate (MSG *msg,
append_event (event);
impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl);
if (impl->transient_owner && GetForegroundWindow() == GDK_WINDOW_HWND (window))
{
SetForegroundWindow (GDK_WINDOW_HWND (impl->transient_owner));
}
return_val = TRUE;
break;
@@ -3454,7 +3458,10 @@ gdk_event_translate (MSG *msg,
append_event (event);
}
else
return_val = TRUE;
{
return_val = TRUE;
}
break;
case WM_RENDERFORMAT:
@@ -3489,7 +3496,9 @@ gdk_event_translate (MSG *msg,
/* Now the clipboard owner should have rendered */
if (!_delayed_rendering_data)
GDK_NOTE (EVENTS, g_print (" (no _delayed_rendering_data?)"));
{
GDK_NOTE (EVENTS, g_print (" (no _delayed_rendering_data?)"));
}
else
{
if (msg->wParam == CF_DIB)
@@ -3503,6 +3512,7 @@ gdk_event_translate (MSG *msg,
break;
}
}
/* The requestor is holding the clipboard, no
* OpenClipboard() is required/possible
*/
@@ -3514,6 +3524,19 @@ gdk_event_translate (MSG *msg,
#ifdef HAVE_WINTAB
case WM_ACTIVATE:
/* We handle mouse clicks for modally-blocked windows under WM_MOUSEACTIVATE,
* but we still need to deal with alt-tab, or with SetActiveWindow() type
* situations. */
if (is_modally_blocked (window) && msg->wParam == WA_ACTIVE)
{
GdkWindow *modal_current = _gdk_modal_current ();
SetActiveWindow (GDK_WINDOW_HWND (modal_current));
*ret_valp = 0;
return_val = TRUE;
break;
}
/* Bring any tablet contexts to the top of the overlap order when
* one of our windows is activated.
* NOTE: It doesn't seem to work well if it is done in WM_ACTIVATEAPP
@@ -3548,10 +3571,12 @@ gdk_event_translate (MSG *msg,
event = gdk_event_new (GDK_NOTHING);
event->any.window = window;
g_object_ref (window);
if (_gdk_input_other_event (event, msg, window))
append_event (event);
else
gdk_event_free (event);
break;
#endif
}
@@ -3610,11 +3635,15 @@ gdk_event_check (GSource *source)
GDK_THREADS_ENTER ();
if (event_poll_fd.revents & G_IO_IN)
retval = (_gdk_event_queue_find_first (_gdk_display) != NULL ||
(modal_win32_dialog == NULL &&
PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE)));
{
retval = (_gdk_event_queue_find_first (_gdk_display) != NULL ||
(modal_win32_dialog == NULL &&
PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE)));
}
else
retval = FALSE;
{
retval = FALSE;
}
GDK_THREADS_LEAVE ();
@@ -3652,6 +3681,13 @@ gdk_win32_set_modal_dialog_libgtk_only (HWND window)
modal_win32_dialog = window;
}
static gboolean
is_modally_blocked (GdkWindow *window)
{
GdkWindow *modal_current = _gdk_modal_current ();
return modal_current != NULL ? gdk_window_get_toplevel (window) != modal_current : FALSE;
}
static void
check_for_too_much_data (GdkEvent *event)
{
@@ -3659,7 +3695,9 @@ check_for_too_much_data (GdkEvent *event)
event->client.data.l[2] ||
event->client.data.l[3] ||
event->client.data.l[4])
g_warning ("Only four bytes of data are passed in client messages on Win32\n");
{
g_warning ("Only four bytes of data are passed in client messages on Win32\n");
}
}
gboolean

View File

@@ -40,7 +40,8 @@
#ifdef HAVE_WINTAB
#define PACKETDATA (PK_CONTEXT | PK_CURSOR | PK_BUTTONS | PK_X | PK_Y | PK_NORMAL_PRESSURE | PK_ORIENTATION)
#define PACKETMODE (PK_BUTTONS)
/* We want everything in absolute mode */
#define PACKETMODE (0)
#include <pktdef.h>
#define DEBUG_WINTAB 1 /* Verbose debug messages enabled */
@@ -192,6 +193,135 @@ print_lc(LOGCONTEXT *lc)
lc->lcSysSensX / 65536., lc->lcSysSensY / 65536.);
}
static void
print_cursor (int index)
{
int size;
int i;
char *name;
BOOL active;
WTPKT wtpkt;
BYTE buttons;
BYTE buttonbits;
char *btnnames;
char *p;
BYTE buttonmap[32];
BYTE sysbtnmap[32];
BYTE npbutton;
UINT npbtnmarks[2];
UINT *npresponse;
BYTE tpbutton;
UINT tpbtnmarks[2];
UINT *tpresponse;
DWORD physid;
UINT mode;
UINT minpktdata;
UINT minbuttons;
UINT capabilities;
size = WTInfo (WTI_CURSORS + index, CSR_NAME, NULL);
name = g_malloc (size + 1);
WTInfo (WTI_CURSORS + index, CSR_NAME, name);
g_print ("NAME: %s\n", name);
WTInfo (WTI_CURSORS + index, CSR_ACTIVE, &active);
g_print ("ACTIVE: %s\n", active ? "YES" : "NO");
WTInfo (WTI_CURSORS + index, CSR_PKTDATA, &wtpkt);
g_print ("PKTDATA: %#x:", (guint) wtpkt);
#define BIT(x) if (wtpkt & PK_##x) g_print (" " #x)
BIT (CONTEXT);
BIT (STATUS);
BIT (TIME);
BIT (CHANGED);
BIT (SERIAL_NUMBER);
BIT (BUTTONS);
BIT (X);
BIT (Y);
BIT (Z);
BIT (NORMAL_PRESSURE);
BIT (TANGENT_PRESSURE);
BIT (ORIENTATION);
BIT (ROTATION);
#undef BIT
g_print ("\n");
WTInfo (WTI_CURSORS + index, CSR_BUTTONS, &buttons);
g_print ("BUTTONS: %d\n", buttons);
WTInfo (WTI_CURSORS + index, CSR_BUTTONBITS, &buttonbits);
g_print ("BUTTONBITS: %d\n", buttonbits);
size = WTInfo (WTI_CURSORS + index, CSR_BTNNAMES, NULL);
g_print ("BTNNAMES:");
if (size > 0)
{
btnnames = g_malloc (size + 1);
WTInfo (WTI_CURSORS + index, CSR_BTNNAMES, btnnames);
p = btnnames;
while (*p)
{
g_print (" %s", p);
p += strlen (p) + 1;
}
}
g_print ("\n");
WTInfo (WTI_CURSORS + index, CSR_BUTTONMAP, buttonmap);
g_print ("BUTTONMAP:");
for (i = 0; i < buttons; i++)
g_print (" %d", buttonmap[i]);
g_print ("\n");
WTInfo (WTI_CURSORS + index, CSR_SYSBTNMAP, sysbtnmap);
g_print ("SYSBTNMAP:");
for (i = 0; i < buttons; i++)
g_print (" %d", sysbtnmap[i]);
g_print ("\n");
WTInfo (WTI_CURSORS + index, CSR_NPBUTTON, &npbutton);
g_print ("NPBUTTON: %d\n", npbutton);
WTInfo (WTI_CURSORS + index, CSR_NPBTNMARKS, npbtnmarks);
g_print ("NPBTNMARKS: %d %d\n", npbtnmarks[0], npbtnmarks[1]);
size = WTInfo (WTI_CURSORS + index, CSR_NPRESPONSE, NULL);
g_print ("NPRESPONSE:");
if (size > 0)
{
npresponse = g_malloc (size);
WTInfo (WTI_CURSORS + index, CSR_NPRESPONSE, npresponse);
for (i = 0; i < size / sizeof (UINT); i++)
g_print (" %d", npresponse[i]);
}
g_print ("\n");
WTInfo (WTI_CURSORS + index, CSR_TPBUTTON, &tpbutton);
g_print ("TPBUTTON: %d\n", tpbutton);
WTInfo (WTI_CURSORS + index, CSR_TPBTNMARKS, tpbtnmarks);
g_print ("TPBTNMARKS: %d %d\n", tpbtnmarks[0], tpbtnmarks[1]);
size = WTInfo (WTI_CURSORS + index, CSR_TPRESPONSE, NULL);
g_print ("TPRESPONSE:");
if (size > 0)
{
tpresponse = g_malloc (size);
WTInfo (WTI_CURSORS + index, CSR_TPRESPONSE, tpresponse);
for (i = 0; i < size / sizeof (UINT); i++)
g_print (" %d", tpresponse[i]);
}
g_print ("\n");
WTInfo (WTI_CURSORS + index, CSR_PHYSID, &physid);
g_print ("PHYSID: %#x\n", (guint) physid);
WTInfo (WTI_CURSORS + index, CSR_CAPABILITIES, &capabilities);
g_print ("CAPABILITIES: %#x:", capabilities);
#define BIT(x) if (capabilities & CRC_##x) g_print (" " #x)
BIT (MULTIMODE);
BIT (AGGREGATE);
BIT (INVERT);
#undef BIT
g_print ("\n");
if (capabilities & CRC_MULTIMODE)
{
WTInfo (WTI_CURSORS + index, CSR_MODE, &mode);
g_print ("MODE: %d\n", mode);
}
if (capabilities & CRC_AGGREGATE)
{
WTInfo (WTI_CURSORS + index, CSR_MINPKTDATA, &minpktdata);
g_print ("MINPKTDATA: %d\n", minpktdata);
WTInfo (WTI_CURSORS + index, CSR_MINBUTTONS, &minbuttons);
g_print ("MINBUTTONS: %d\n", minbuttons);
}
}
#endif
void
@@ -204,6 +334,7 @@ _gdk_input_wintab_init_check (void)
HCTX *hctx;
UINT ndevices, ncursors, ncsrtypes, firstcsr, hardware;
BOOL active;
DWORD physid;
AXIS axis_x, axis_y, axis_npressure, axis_or[3];
int i, k;
int devix, cursorix;
@@ -323,7 +454,7 @@ _gdk_input_wintab_init_check (void)
/* According to the specs, if the function fails we must try again */
/* with a smaller queue size */
GDK_NOTE (INPUT, g_print("Attempting to increase queue size\n"));
for (i = 128; i >= 1; i >>= 1)
for (i = 32; i >= 1; i >>= 1)
{
if (WTQueueSizeSet(*hctx, i))
{
@@ -335,11 +466,29 @@ _gdk_input_wintab_init_check (void)
GDK_NOTE (INPUT, g_print("Whoops, no queue size could be set\n"));
for (cursorix = firstcsr; cursorix < firstcsr + ncsrtypes; cursorix++)
{
#ifdef DEBUG_WINTAB
GDK_NOTE (INPUT, (g_print("Cursor %d:\n", cursorix), print_cursor (cursorix)));
#endif
active = FALSE;
WTInfo (WTI_CURSORS + cursorix, CSR_ACTIVE, &active);
if (!active)
continue;
/* Wacom tablets seem to report cursors corresponding to
* nonexistent pens or pucks. At least my ArtPad II
* reports six cursors: a puck, pressure stylus and
* eraser stylus, and then the same three again. I only
* have a pressure-sensitive pen. The puck instances,
* and the second instances of the styluses report
* physid zero. So at least for Wacom, skip cursors with
* physid zero.
*/
WTInfo (WTI_CURSORS + cursorix, CSR_PHYSID, &physid);
if (strcmp (devname, "WACOM Tablet") == 0 && physid == 0)
continue;
gdkdev = g_object_new (GDK_TYPE_DEVICE, NULL);
WTInfo (WTI_CURSORS + cursorix, CSR_NAME, csrname);
gdkdev->info.name = g_strconcat (devname, " ", csrname, NULL);
gdkdev->info.source = GDK_SOURCE_PEN;
@@ -712,6 +861,11 @@ _gdk_input_other_event (GdkEvent *event,
PACKET packet;
gint k;
gint x, y;
guint translated_buttons, button_diff, button_mask;
/* Translation from tablet button state to GDK button state for
* buttons 1-3 - swap button 2 and 3.
*/
static guint button_map[8] = {0, 1, 4, 5, 2, 3, 6, 7};
if (event->any.window != wintab_window)
{
@@ -777,23 +931,41 @@ _gdk_input_other_event (GdkEvent *event,
g_assert (k == gdkdev->info.num_axes);
if (HIWORD (packet.pkButtons) != TBN_NONE)
{
/* Gdk buttons are numbered 1.. */
event->button.button = 1 + LOWORD (packet.pkButtons);
translated_buttons = button_map[packet.pkButtons & 0x07] | (packet.pkButtons & ~0x07);
if (HIWORD (packet.pkButtons) == TBN_UP)
if (translated_buttons != gdkdev->button_state)
{
/* At least one button has changed state so produce a button event
* If more than one button has changed state (unlikely),
* just care about the first and act on the next the next time
* we get a packet
*/
button_diff = translated_buttons ^ gdkdev->button_state;
/* Gdk buttons are numbered 1.. */
event->button.button = 1;
for (button_mask = 1; button_mask != 0x80000000;
button_mask <<= 1, event->button.button++)
{
if (button_diff & button_mask)
{
/* Found a button that has changed state */
break;
}
}
if (!(translated_buttons & button_mask))
{
event->any.type = GDK_BUTTON_RELEASE;
masktest = GDK_BUTTON_RELEASE_MASK;
gdkdev->button_state &= ~(1 << LOWORD (packet.pkButtons));
}
else
{
event->any.type = GDK_BUTTON_PRESS;
masktest = GDK_BUTTON_PRESS_MASK;
gdkdev->button_state |= 1 << LOWORD (packet.pkButtons);
}
gdkdev->button_state ^= button_mask;
}
else
{
@@ -932,44 +1104,6 @@ _gdk_input_other_event (GdkEvent *event,
GDK_NOTE (EVENTS_OR_INPUT,
g_print ("WINTAB motion: %g,%g\n",
event->motion.x, event->motion.y));
/* Check for missing release or press events for the normal
* pressure button. At least on my ArtPadII I sometimes miss a
* release event?
*/
if ((gdkdev->pktdata & PK_NORMAL_PRESSURE
&& (event->motion.state & GDK_BUTTON1_MASK)
&& packet.pkNormalPressure <= MAX (0, (gint) gdkdev->npbtnmarks[0] - 2))
|| (gdkdev->pktdata & PK_NORMAL_PRESSURE
&& !(event->motion.state & GDK_BUTTON1_MASK)
&& packet.pkNormalPressure > gdkdev->npbtnmarks[1] + 2))
{
GdkEvent *event2 = gdk_event_copy (event);
if (event->motion.state & GDK_BUTTON1_MASK)
{
event2->button.type = GDK_BUTTON_RELEASE;
gdkdev->button_state &= ~1;
}
else
{
event2->button.type = GDK_BUTTON_PRESS;
gdkdev->button_state |= 1;
}
event2->button.state = ((gdkdev->button_state << 8)
& (GDK_BUTTON1_MASK | GDK_BUTTON2_MASK
| GDK_BUTTON3_MASK | GDK_BUTTON4_MASK
| GDK_BUTTON5_MASK))
| key_state;
event2->button.button = 1;
GDK_NOTE (EVENTS_OR_INPUT,
g_print ("WINTAB synthesized button %s: %d %g,%gg\n",
(event2->button.type == GDK_BUTTON_PRESS ?
"press" : "release"),
event2->button.button,
event2->button.x,
event2->button.y));
_gdk_event_queue_append (display, event2);
}
}
return TRUE;
@@ -1098,6 +1232,7 @@ _gdk_input_grab_pointer (GdkWindow *window,
else
{
x_grab_window = NULL;
#if 0
tmp_list = _gdk_input_devices;
while (tmp_list)
{
@@ -1114,6 +1249,7 @@ _gdk_input_grab_pointer (GdkWindow *window,
tmp_list = tmp_list->next;
}
#endif
}
#endif

View File

@@ -371,6 +371,11 @@ void _gdk_wchar_text_handle (GdkFont *font,
void *),
void *arg);
void _gdk_push_modal_window (GdkWindow *window);
void _gdk_remove_modal_window (GdkWindow *window);
GdkWindow *_gdk_modal_current ();
#ifdef G_ENABLE_DEBUG
gchar *_gdk_win32_color_to_string (const GdkColor *color);
void _gdk_win32_print_paletteentries (const PALETTEENTRY *pep,

View File

@@ -85,7 +85,7 @@ void gdk_win32_selection_add_targets (GdkWindow *owner,
GdkAtom *targets);
/* For internal GTK use only */
GdkPixbuf * gdk_win32_icon_to_pixbuf_libgtk_only (HICON hicon);
GdkPixbuf *gdk_win32_icon_to_pixbuf_libgtk_only (HICON hicon);
HICON gdk_win32_pixbuf_to_hicon_libgtk_only (GdkPixbuf *pixbuf);
void gdk_win32_set_modal_dialog_libgtk_only (HWND window);

Some files were not shown because too many files have changed in this diff Show More