Commit Graph

344 Commits

Author SHA1 Message Date
Kalev Lember
bbe8ba8aff win32: Don't crash when installed in a top-level directory
Avoid NULL-pointer dereference when package installation directory
doesn't contain any slashes.

Reported by Paweł Forysiuk.
2012-02-09 18:00:08 +02:00
Michael Natterer
2e06f63743 Bug 663856 - Make option-foo accelerators use the right symbol
If the keyboard group shifting modifier is *also* a normal
accelerator modifier, we need to special case it when calling
gdk_keymap_translate_keyboard_state(), so we get the right
key symbol for accelerators (for example we want Option-O,
not Option-Ø displayed in menu items). This patch should only
affect quartz where the Alt key both shifts the group and can
be used as accel modifier, and not X11 or Win32 where AltGr
is not used for accelerators.

- fix quartz' gdk_keymap_translate_keyboard_state() to return
  the right consumed_modifiers
- add _gtk_translate_keyboard_accel_state() which does the
  special casing
- use it everywhere instead of gdk_keymap_translate_keyboard_state()
2011-11-18 12:25:03 +01:00
Michael Natterer
7be2ea823d Bug 659406 - Abstract what triggers a context menu
Add _gtk_button_event_triggers_context_menu() and use it instead
of checking for event->button == 3, so context menus are invoked
correctly on the Mac.
2011-09-19 00:32:52 +02:00
Pavel Holejsovsky
6e178a69fc [GI] Add missing (out) and (array) annotations
Backported from master commit 2fb1c064.
2011-03-16 10:45:35 +01:00
Matthias Clasen
64adba6e3e Extend the mixed-dependency check to modules as well
This helps prevent accidents with GTK_PATH.
2011-02-08 18:02:48 -05:00
Pavel Holejsovsky
5cded4d5e2 [GI] Add missing (transfer) annotations
Backported from master commit 2f0d40335b.
2011-01-26 12:49:08 +01:00
Pavel Holejsovsky
9b2457a671 [GI] Fixes of existing incorrect annotations
Backported from master commit 3c8fc21e9b.
2011-01-26 12:29:21 +01:00
Martin Pitt
e48f5b4073 Backport a lot of GI transfer annotations
This dramatically improves using GTK2 with g-i.

Taken from master commit e0aa12eb0a without the non-documentation changes.
2011-01-10 14:43:00 -06:00
Matthias Clasen
e00c9fbc18 Some documentation improvements for gtk_init/gtk_parse_args
https://bugzilla.gnome.org/show_bug.cgi?id=562182
2011-01-06 12:58:52 -05:00
Matthias Clasen
e65e208d40 Deprecate gdk_set_locale and gtk_set_locale 2010-12-21 09:54:14 -05:00
Kristian Rietveld
3258af741e Use gdk_window_ accessors instead of gdk_drawable_ accessors if possible
The gdk_drawable_ accessors were deprecated.  Removes a lot of
compile-time warnings and eventually also makes things work again
on Mac (miscompile due to the missing prototypes).
2010-10-19 10:37:15 +02:00
Matthias Clasen
6a2524324f Deprecate gtk_init_add, gtk_remove_add and friends
This functions are going to be removed in GTK+ 3.

https://bugzilla.gnome.org/show_bug.cgi?id=629955
2010-10-16 01:11:43 -04:00
Matthias Clasen
cbb01e6063 Prevent concurrent use of GTK+ 2 and 3
If we detect a gtk3-only symbol, error out early.
2010-06-18 22:40:50 -04:00
Javier Jardón
560e426f16 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_HAS_GRAB)
Introduce internal _gtk_widget_set_has_grab() for this

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=614513
2010-04-26 21:04:51 +02:00
Javier Jardón
16a59ad912 Deprecate widget flag: GTK_WIDGET_REALIZED
Use gtk_widget_get_realized() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-03 20:41:05 +01:00
Javier Jardón
e8e95d4c5e Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_CAN_DEFAULT)
Use new API instead: gtk_widget_set_can_default ()
2010-03-02 07:58:05 +01:00
Javier Jardón
214a023e91 Deprecate widget flag: GTK_WIDGET_VISIBLE
Use gtk_widget_get_visible() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 07:52:07 +01:00
Javier Jardón
a27d5a2c9e Deprecate widget flag: GTK_WIDGET_IS_SENSITIVE
Use gtk_widget_is_sensitive() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 05:32:51 +01:00
Javier Jardón
51e0dd9a82 Deprecate some widget flags
Deprecate the following:
GTK_WIDGET_APP_PAINTABLE
GTK_WIDGET_CAN_DEFAULT
GTK_WIDGET_DOUBLE_BUFFERED
GTK_WIDGET_HAS_DEFAULT
GTK_WIDGET_HAS_GRAB
GTK_WIDGET_RECEIVES_DEFAULT

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-01-07 10:04:55 +01:00
Matthias Clasen
6f421d1450 Some improvements to the auto-mnemonics code 2009-12-20 19:17:24 -05:00
Matthias Clasen
c59f76fda2 Only show the mnemonic underline when pressing Alt
...and show them in menus when navigating the menu with the keyboard.
This is similar to what other platforms do, and reduces visual clutter.
There is a setting to control this. Most of the work on this patch was
done by Thomas Wood. See bug 588554.
2009-12-20 03:11:05 -05:00
Colin Walters
6529c07614 [introspection] Merge in Gtk-custom.c annotations
The Gtk-custom.c file in gir-repository contained a number of
introspection annotations.  Merge those into the GTK source files.

Some documentation was moved from the tmpl/ files to accomodate
the addition of annotations.
2009-12-16 17:22:01 -02:00
Javier Jardón
07236ee745 Remove statement with no effect 2009-10-30 04:19:10 +01:00
Nick Schermer
92a68f4cf9 gtk_init_with_args() arguments should be const gchar*
The translation_domain argument should be const gchar * to allow compilation
with -Wwrite-strings. It only passes the argument to
g_option_context_add_main_entries() which is already const gchar*.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=583305
2009-10-26 22:29:33 +01:00
Tor Lillqvist
425b652003 Don't ignore SIGPIPE unless it exists 2009-10-06 14:53:22 +03:00
Matthias Clasen
97d15954ad Move SIGPIPE suppression to gtk_init and document it
Some people were unhappy with doing it deep inside the lpr print
backend at an unpredictable time, and SIGPIPE is almost never
wanted anyway.
2009-10-01 11:45:28 -04:00
Alexander Larsson
7ab7ffa542 Automatically flush window when doing non-double-buffered expose
Applications using non-double-buffered drawing using cairo (e.g. Abiword)
can draw directly to the window using cairo and thus manage to avoid
the automatic flushing of outstanding moves. This can cause redraw
inconsistencies like bug 593507.

We fix this by always flushing when exposing non-double-buffered widgets.
2009-09-14 16:07:43 +02:00
Tor Lillqvist
e46ff83f30 Bug 164002 - query scripts don't work uninstalled on windows
2009-01-13  Tor Lillqvist  <tml@iki.fi>

	Bug 164002 - query scripts don't work uninstalled on windows

	* gtk/gtkmain.c (_gtk_get_libdir): If the gtk DLL is in a ".libs"
	folder, assume we are running uninstalled, and use the
	configure-time GTK_LIBDIR.


svn path=/trunk/; revision=22110
2009-01-13 14:04:27 +00:00
Michael Natterer
1dc24ea3a5 gtk/gtksignal.[ch] gtk/gtkclist.c gtk/gtklist.c gtk/gtkmain.c
2008-09-22  Michael Natterer  <mitch@imendio.com>

	* gtk/gtksignal.[ch]
	* gtk/gtkclist.c
	* gtk/gtklist.c
	* gtk/gtkmain.c
	* gtk/gtktext.c
	* gtk/gtktreeitem.c: use G_CALLBACK and GCallback instead of
	GTK_SIGNAL_FUNC and GtkSignalFunc also in deprecated code.


svn path=/trunk/; revision=21488
2008-09-22 10:35:44 +00:00
Tor Lillqvist
4125df1d8e gdk-pixbuf/gdk-pixbuf-io.c Don't use the deprectated
2008-09-13  Tor Lillqvist  <tml@novell.com>

	* gdk-pixbuf/gdk-pixbuf-io.c
	* gtk/gtkmain.c: Don't use the deprectated
	g_win32_get_package_installation_directory() and
	g_win32_get_package_installation_subdirectory() functions. Use
	g_win32_get_package_installation_directory_of_module()
	instead. Also, don't use the deprecated silly
	G_WIN32_DLLMAIN_FOR_DLL_NAME macro, but an explicit minimal
	DllMain() that just saves the DLL handle.


svn path=/trunk/; revision=21381
2008-09-13 19:31:29 +00:00
Cosimo Cecchi
42ec45e3c2 Bug 552153 – GtkModules loading with XSettings doesn't work if the
2008-09-13  Cosimo Cecchi  <cosimoc@gnome.org>

	Bug 552153 – GtkModules loading with XSettings doesn't work if the
	GTK_MODULES env var isn't set.

	* gtk/gtkmain.c: (do_post_parse_initialization):
	* gtk/gtkmodules.c: (_gtk_modules_init):
	Call _gtk_modules_init () even if gtk_modules_string is NULL, so
	that GtkModules specified with XSettings could be loaded.

svn path=/trunk/; revision=21380
2008-09-13 19:01:13 +00:00
Tor Lillqvist
b2dff511d3 gdk-pixbuf/gdk-pixbuf-io.c Do as the docs for
2008-09-13  Tor Lillqvist  <tml@novell.com>

	* gdk-pixbuf/gdk-pixbuf-io.c
	* gtk/gtkmain.c: Do as the docs for
	g_win32_get_package_installation_directory() say and pass NULL as
	the first parameter.


svn path=/trunk/; revision=21379
2008-09-13 09:19:03 +00:00
Cody Russell
4e3c97b3f2 Bug 56070 – Can't click button after setting it sensitive.
2008-07-31  Cody Russell  <bratsche@gnome.org>

        Bug 56070 – Can't click button after setting it sensitive.

        * gtk/gtkwidget.[ch] 
        * gtk/gtkwindow.c
        * gtk/gtkmain.c
        * gtk/gtkbutton.c
        * gtk/gtkprivate.h
        * gdk/gdkevents.h: Synthesize crossing events events where necessary.

        * gtk/tests/crossingevents.c: Add unit tests for crossing events.

        Big thanks to Ed Catmur, Matthias Clasen, and everyone else who
        has worked on and helped out with this.


svn path=/trunk/; revision=20924
2008-08-01 03:30:50 +00:00
Federico Mena Quintero
0278fdcbc2 Don't do funny casts to avoid compiler warnings
2008-07-18  Federico Mena Quintero  <federico@novell.com>

	* demos/gtk-demo/changedisplay.c (find_toplevel_at_pointer): Don't
	do funny casts to avoid compiler warnings.

	* demos/gtk-demo/textview.c (easter_egg_callback): Likewise.

	* gtk/gtkmain.c (rewrite_event_for_grabs, gtk_get_event_widget): Likewise.

	* gtk/gtkmodules.c (load_module): Likewise.

	* gtk/gtkselection.c (gtk_selection_convert): Likewise.

	* gtk/gtktipsquery.c (gtk_tips_query_event): Likewise.

	* gtk/queryimmodules.c (query_module): Likewise.

	* tests/testgtk.c (create_gridded_geometry, create_key_lookup)
	(find_widget_at_pointer): Likewise.

Signed-off-by: Federico Mena Quintero <federico@novell.com>

svn path=/trunk/; revision=20862
2008-07-18 18:27:30 +00:00
Cody Russell
57223c9a05 Revert name change
svn path=/trunk/; revision=20724
2008-07-01 22:57:50 +00:00
Cody Russell
fce9c8b7d4 Practically everything changed.
2008-06-30  Cody Russell  <bratsche@gnome.org>

        * Practically everything changed.

        Change	all references	of GIMP	Toolkit	(and variations	of it)
        to GTK+	Toolkit, showing no mercy at all to our	beloved
	ancestry. (#540529)


svn path=/trunk/; revision=20709
2008-06-30 23:01:56 +00:00
Michael Natterer
0c1f022ba7 deprecate gtk_type_init() unconditionally (also for GTK_COMPILATION). Move
2008-06-24  Michael Natterer  <mitch@imendio.com>

	* gtk/gtktypeutils.h: deprecate gtk_type_init() unconditionally
	(also for GTK_COMPILATION). Move some deprecated typedefs around
	to reduce the mess with zillions of deprecated sections.

	* gtk/gtkmain.c (do_post_parse_initialization): replace the call
	to gtk_type_init() by g_type_init() and gtk_object_get_type() even
	though the latter is probably completely pointless.


svn path=/trunk/; revision=20684
2008-06-24 19:11:30 +00:00
Johan Dahlin
d97cdbdf53 Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch and Tim


svn path=/trunk/; revision=20669
2008-06-22 14:28:52 +00:00
Christian Persch
446f41757b Use g_set_error_literal where appropriate. Bug #538640.
svn path=/trunk/; revision=20463
2008-06-19 12:47:48 +00:00
Michael Natterer
67c6c28fe0 deprecate GdkDestroyNotify.
2008-06-18  Michael Natterer  <mitch@imendio.com>

	* gdk/gdk.h: deprecate GdkDestroyNotify.

	* gdk/gdkevents.c
	* gdk/gdktypes.h
	* gdk/x11/gdkevents-x11.c
	* gtk/gtkmain.c: s/GdkDestroyNotify/GDestroyNotify/g.


svn path=/trunk/; revision=20449
2008-06-18 09:39:24 +00:00
Michael Natterer
fe8a946e87 deprecate GtkDestroyNotify.
2008-06-18  Michael Natterer  <mitch@imendio.com>

	* gtk/gtktypeutils.h: deprecate GtkDestroyNotify.

	* gtk/gtkactiongroup.[ch]
	* gtk/gtkcombobox.[ch]
	* gtk/gtkcontainer.[ch]
	* gtk/gtkliststore.[ch]
	* gtk/gtkmain.[ch]
	* gtk/gtkmenu.c
	* gtk/gtkstock.[ch]
	* gtk/gtktreedatalist.[ch]
	* gtk/gtktreemodelfilter.[ch]
	* gtk/gtktreemodelsort.[ch]
	* gtk/gtktreeprivate.h
	* gtk/gtktreeselection.[ch]
	* gtk/gtktreesortable.[ch]
	* gtk/gtktreestore.[ch]
	* gtk/gtktreeview.[ch]
	* gtk/gtktreeviewcolumn.[ch]: s/GtkDestroyNotify/GDestroyNotify/g.


svn path=/trunk/; revision=20448
2008-06-18 09:12:32 +00:00
Matthias Clasen
809bc59c58 Open the default display even when gtk_parse_args() has already been
* gtk/gtkmain.c (gtk_init_with_args): Open the default display
        even when gtk_parse_args() has already been called.
        Patch by Mathias Hasselmann

svn path=/trunk/; revision=20366
2008-06-13 03:24:37 +00:00
Michael Natterer
128a478b9b gtk/gtkmain.c don't #include <libintl.h>, it's pulled in via "gtkintl.h"
2008-06-12  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkmain.c
	* gtk/gtktrayicon-x11.c: don't #include <libintl.h>, it's pulled
	in via "gtkintl.h" from <glib/gi18n-lib.h>.


svn path=/trunk/; revision=20362
2008-06-12 13:53:55 +00:00
Behdad Esfahbod
d76e3d552e Bug 503071 – Application direction changes to right to left even if
2008-06-11  Behdad Esfahbod  <behdad@gnome.org>

        Bug 503071 – Application direction changes to right to left even if
        theres no translation

        * configure.in: Bump glib requirement.

        * gtk/gtkaccellabel.c
        (_gtk_accel_label_class_get_accelerator_label):
        * gtk/gtkactiongroup.c (dgettext_swapped):
        * gtk/gtkbuilder.c (gtk_builder_class_init):
        * gtk/gtkbuilderparser.c (_dpgettext),
        (_gtk_builder_parser_translate):
        * gtk/gtkfilechooserdefault.c (list_size_data_func):
        * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
        * gtk/gtkintl.h:
        * gtk/gtkmain.c (setlocale_initialization),
        (do_pre_parse_initialization), (gettext_initialization):
        * gtk/gtkstock.c (gtk_stock_lookup), (sgettext_swapped):
        Use g_dgettext() and g_dngettext().


svn path=/trunk/; revision=20358
2008-06-11 23:40:35 +00:00
10:49:20 Tim Janik
4111cf2065 Bug 318807 – Offscreen windows and window redirection.
2008-03-18 10:49:20  Tim Janik  <timj@imendio.com>

	* Applied pixmap redirection patch by Alexander Larsson with
	various updates from:
	Bug 318807 – Offscreen windows and window redirection.


	Updates:

	* updated docs to mention "Since 2.16".

	* tests/testgtk.c: fixed snapshooting pixmap leak.
	convert pixmap to pixbuf after snapshooting, to compensate for different
	bit depths (occurs when snapshooting ARGB visuals and displaying the
	pixmap in an RGB visual).

	* gdk/gdkwindow.[hc]: made GdkWindowRedirect private.

	* gdk/gdkwindow.c: removed damage idle handler, there's no aparent
	need for it. enqueue damage notification as GDK_DAMAGE events
	for each painting redirection at the start of the event queue.
	consider windows with a redirection fully visible when invalidating,
	and when updating from backing store. cleaned up stale variables.

	* gdk/gdkevents.c: added _gdk_event_queue_prepend().

	* gtk/gtkwidget.c: fixed coordinates for !NO_WINDOW widgets in
	gtk_widget_get_snapshot; this fixes garbage snap offsets for gammacurve,
	tree, drawingarea, text, handlebox, etc.
	clip the redirected window hierarchy to window sizes, the visible
	rectangles don't need to be taken into account here.
	extended snapshooting docs to recommend gdk_pixbuf_get_from_drawable()
	in case pixmap visuals could mismatch.

	* gdk/x11/gdkwindow-x11.c: removed _gdk_windowing_window_get_visible_rect().


	Base patch:

	* tests/testgtk.c: add a "Snapshot" test to demonstrate snapshooting
	of possibly obscured widgets into an offscreen pixmap.

	* gtk/gtkwidget.[hc]: add GtkWidget::damage-event signal, add
	gtk_widget_get_snapshot() to render a widget's contents to a GdkPixmap.

	* gtk/gtkmain.c: dispatch GDK_DAMAGE events.

	* gdk/gdkwindow.c: moved outer gdk_window_new() and gdk_window_reparent()
	implementations here, adapted them to propagate redirects to child windows.
	gdk_window_end_paint(): copy repainted window contents to redirection pixmap,
	clipped to visible region. queue GDK_DAMAGE event delivery.
	gdk_window_redirect_to_drawable(): install window painting redirection.
	gdk_window_remove_redirection(): remove previously installed redirection.

	* gdk/x11/gdkwindow-x11.c: added _gdk_windowing_window_get_visible_rect(),
	renamed _gdk_window_new() and _gdk_window_reparent().

	* gdk/gdkwindow.h: added GdkWindowRedirect* to GdkWindowObject, export
	gdk_window_redirect_to_drawable() and gdk_window_remove_redirection().

	* gdk/gdkevents.h: added GDK_DAMAGE event type.

	* gdk/gdkevents.c: extract time and state from GDK_DAMAGE events.

	* gdk/gdkinternals.h: added internal prototypes.



svn path=/trunk/; revision=20122
2008-05-21 19:04:24 +00:00
14:27:34 Tim Janik
4d1892710f Bug 503071 - Application direction changes to right to left even if theres
2008-05-20 14:27:34  Tim Janik  <timj@imendio.com>

        * reverted recent unapproved changes by Yair Hershkovitz, regarding:
        Bug 503071 - Application direction changes to right to left even if theres no translation.



svn path=/trunk/; revision=20116
2008-05-20 13:03:41 +00:00
Yair Hershkovitz
f0ded97ab4 gtk_disable_setlocale() - Added a call to g_disable_setlocale().
2008-05-17  Yair Hershkovitz  <yairhr@gmail.com>

	* gtk/gtkmain.c: gtk_disable_setlocale() - Added a call to
	g_disable_setlocale().

svn path=/trunk/; revision=20107
2008-05-16 22:57:37 +00:00
Yair Hershkovitz
986cbebc53 g_i18n_init(); -> g_i18n_init ();
2008-05-12  Yair Hershkovitz  <yairhr@gmail.com>

        * gtk/gtkmain.c: g_i18n_init(); -> g_i18n_init ();


svn path=/trunk/; revision=20095
2008-05-12 07:59:00 +00:00
Yair Hershkovitz
670775d8d8 call g_i18n_init() in gettext_initialization(). do gettext_initialization
2008-05-11  Yair Hershkovitz  <yairhr@gmail.com>

        * gtk/gtkmain.c: call g_i18n_init() in gettext_initialization(). do
        gettext_initialization only once.

        *  gtk/gtkbuilderparser.c: use glib i18n api. removed dpgettext() as it
        duplicates g_dpgettext() and added _g_dpgettext() to wrap g_dpgettext 
        with the extended functionality that was in the removed dpgettext().

        * gtk/gtkaccellabelc:
        * gtk/gtkstock.c:
        * gtk/gtkimmulticontext.c:
        * gtk/gtkactiongroup.c:
        * gtk/gtkintl.h: use glib i18n api.


svn path=/trunk/; revision=20091
2008-05-11 09:49:30 +00:00
Michael Natterer
53dd05475b include <pango/pango.h> instead of <pango/pango-layout.h>.
2008-04-25  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkprintcontext.h: include <pango/pango.h> instead of
	<pango/pango-layout.h>.

	* gtk/gtkiconfactory.c
	* gtk/gtkimmodule.c
	* gtk/gtkmain.c
	* gtk/gtkmodules.c
	* gtk/queryimmodules.c: remove inclusion of single files from
	pango, none of them was actually needed.

	* modules/input/gtkimcontextime.c: include <pango/pango.h> instead of
	<pango/pango-utils.h>.


svn path=/trunk/; revision=20042
2008-04-25 15:18:07 +00:00