Commit Graph

749 Commits

Author SHA1 Message Date
Chun-wei Fan
339fd3d3f6 Clean Up MSVC Project Generation
Use the common autotools module that was added in the last commit so that
we can clean up the various Makefile.am's in gdk/ and gtk/, and also
make more Visual Studio projects completed during 'make dist', by adding
minimal items to those other Makefile.am's.  This also allows us to make
the property sheets that does the copying of headers and built items
completed at 'make dist', so that we won't have to worry too much about
headers being added (although it would be unlikely for GTK+-2.x).
2015-12-15 16:44:47 +08:00
David Lechner
4ba1fbfdb1 Bug 753992 - im-quartz discard_preedit segmentation fault
Replace checking if the NSView is really a GdkWindow, which will crash
in the likely event it's not a GObject, with ensuring that the parent
GdkWindow is really a GdkWindowQuartz.
2015-10-08 21:36:11 -04:00
Ting-Wei Lan
46c28bd54d Makefiles: Fix parallel installation for MinGW
Make sure that the destination exists before installing files.

https://bugzilla.gnome.org/show_bug.cgi?id=753691
2015-08-19 10:38:39 +08:00
Matthias Clasen
f3a34856c5 multipress: Only emit preedit signals if needed
When clearing the compose buffer, don't emit preedit-changed
unconditionally. This triggers a recursion which leads to
a crash.

https://bugzilla.gnome.org/show_bug.cgi?id=753644
2015-08-18 15:46:21 -04:00
Marek Kasik
d63bee09e0 printing: Check connection to remote CUPS server on correct port
Add parameter for specification of port to gtk_cups_connection_cups_new().
Use default port returned by ippPort() if the given port is lower than 0.

https://bugzilla.gnome.org/show_bug.cgi?id=693738
2015-05-13 12:27:44 +02:00
Matthias Clasen
5364ede826 gailbutton: Avoid a possible NULL dereference
We were using widget->window before checking widget for being NULL.

Pointed out by Sami Farin,
https://bugzilla.redhat.com/show_bug.cgi?id=1140414
2015-02-13 13:40:46 -05:00
Matthias Clasen
1d0e2d5838 pixbuf engine: Avoid a crash if widget is NULL
Commit 85f2a721cf introduced an unconditional call to
gtk_widget_get_direction(). This does not work for 'foreign'
uses of the theme engine, e.g. in Qt, where widget is NULL.

This was reported as a crash in Fedora here:
https://bugzilla.redhat.com/show_bug.cgi?id=924683
2014-09-29 16:05:57 -04:00
Jehan
ab3e3b1834 Makefiles: cross-compilation on Linux for Windows failing.
Missing linking information for some modules.
2014-08-13 20:59:30 +00:00
Matthias Clasen
267d004fd9 Fix a typo
$(bindir) starts with a slash, so no need to add an extra one in
$(DESTDIR)$(bindir)...

https://bugzilla.gnome.org/show_bug.cgi?id=734563
2014-08-10 07:58:05 -04:00
John Ralls
825e035833 Bug 729924 - Crash trying to print in OSX 2014-08-03 11:53:43 +02:00
Matthias Clasen
f652982062 Fix a pixmap leak in the ms-windows engine
This was pointed out in https://bugzilla.gnome.org/show_bug.cgi?id=731967.
2014-06-22 13:11:50 -04:00
Kalev Lember
46b0c29382 pixbuf-engine: Fix the build with -Werror=format-security 2014-05-23 11:19:53 +02:00
Marek Kasik
378ea9029f printing: Fail nicely when /tmp is not writable
Don't crash when /tmp is not writable when printing to file.
Show that getting of printer details failed for CUPS printers.

https://bugzilla.gnome.org/show_bug.cgi?id=693200
2014-03-18 16:02:04 +01:00
Marek Kasik
e84bb08ded printing: Don't crash because of missing g_clear_pointer()
g_clear_pointer() is not available in glib-2.28 which is minimal
required version for gtk+-2.24.

https://bugzilla.gnome.org/show_bug.cgi?id=708783
2014-03-12 23:47:28 -04:00
Carlos Garnacho
e048de9cab ime: Add builtin handling of dead keys
The IME input method has been both ignoring keypresses of
non-spacing characters (ditching these as non displayable),
and not letting IME do anything about those.

Even though, the sparse documentation on IMM/IME seems to
hint that applications can't pipe non-spacing characters to
the input method manager, and experimentation shown that
those characters are indeed handled differently than how
it'd be expected.

Then, add basic handling of dead keys on the IME input method
itself , as it's not mutually exclusive with regular keymaps
with dead keys.

https://bugzilla.gnome.org/show_bug.cgi?id=704937
2013-12-05 10:12:24 -06:00
Jehan
aa8704aa9f Bug 712536 - Themes with gap_(start|end)_file but no actual file crash
Code factorization in commit 34fd123 reintroduced bug fixed in 0d396ab
with non-equivalent factorized tests.
2013-12-05 01:08:18 +13:00
Matthias Clasen
9559c707d5 Avoid a crash in the pixbuf engine
This is fallout from e4c83bbfdb,
which removed a necessary check.
2013-12-01 17:12:08 -05:00
Emmanuele Bassi
e4c83bbfdb pixbuf-engine: Clean up error conditions and destructors
Simplify the error checks and move all common behaviour into a utility
function.

https://bugzilla.gnome.org/show_bug.cgi?id=712536
2013-11-22 22:19:58 -05:00
Emmanuele Bassi
e2aabc016a pixbuf-engine: Improve ThemePixbuf clean up functions
Make theme_pixbuf_destroy() NULL-safe like g_free(), and add a clear
function in the spirit of the g_clear_* family of functions.

https://bugzilla.gnome.org/show_bug.cgi?id=712536
2013-11-22 22:19:58 -05:00
Jehan
c988a258cc Themes with specified gap images but no actual file crash.
https://bugzilla.gnome.org/show_bug.cgi?id=712536
2013-11-22 22:19:58 -05:00
Ek Kato
541aa72f86 Fix missing return from quartz_filter_keypress
(cherry picked from commit 0ae728e242)
2013-08-29 14:13:31 -07:00
Ek Kato
a2149a671a Bug 705750 Quartz input method doesn't work correctly for Chinese characters 2013-08-16 10:25:25 -07:00
Cody Russell
36e26c8a03 Fix a crasher that was introduced by 9ca802161e
due to preedit_str being initialized as an empty string rather than NULL.
2013-08-15 15:11:50 -05:00
Michael Hutchison
5af66c3f0d Bug 705182 Reset Cocoa IME state when immodule is reset
Commits the pre-edit string on receipt of focus_out and reset
commands.
Patch refinements by Cody Russell <bratsche@gnome.org> and
Ek Kato <ek.kato@gmail.com>
2013-08-15 10:06:13 -07:00
John Ralls
12fe6a9a1a Bug Bug 703789 - gtk.immodules still referenced
After switch to immodules.cache
2013-07-28 13:59:55 -07:00
Takuro Ashie
c064e18894 imquartz: Fallback to slave IM context if no NSEvent exists.
When an application translates a key event and drop its native event
before passing to imquartz, it can't recognize the NSEvent. On this
case imquartz doesn't emit any signals such as "commit" signal so
that the application doesn't insert any text. To avoid no response,
at least imquartz should fallback to slave GtkIMContextSimple.

https://bugzilla.gnome.org/show_bug.cgi?id=694273#c27
2013-07-27 13:52:39 -07:00
Marek Kasik
a057ed26dc printing: List Avahi printers
Show printers advertised by avahi on local network. CUPS
backend now looks for _ipps._tcp and _ipp._tcp services
offered by avahi. If it finds such a service (printer)
it requests its attributes through IPP_GET_PRINTER_ATTRIBUTES
ipp request and adds it to the list of printers. Such printer
behaves like a remote printer then.
If an avahi printer is a default printer then it is considered
default by the backend only if there is no local or remote
default printer.
This functionality is enabled when building Gtk+ with CUPS 1.6
or later because it replaces browsing protocol removed in CUPS 1.6.

https://bugzilla.gnome.org/show_bug.cgi?id=702455
2013-06-25 14:43:43 +02:00
Emmanuele Bassi
162430fe5a settings: Move setting property registration in gtksettings.c
Some GtkSettings property are registered by other classes. This leads
to the "interesting" issue that setting GtkSettings:gtk-button-images
requires that the GtkButton class is referenced first - or that a
GtkButton is created.

https://bugzilla.gnome.org/show_bug.cgi?id=632538

This commit is a cherry-pick from master which (sadly) fixed the issue
only after we started the 2.9x work, and I completely forgot to backport
it. This is needed because GTK 2.x started tripping the warning added in
GObject by this bug:

https://bugzilla.gnome.org/show_bug.cgi?id=698614

Cherry-picked-from: 9f9edb662e
Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
2013-06-10 16:05:27 +01:00
Marek Kasik
7b5e7a72fc printing: Show correct status of a job
"job-state" is IPP_TAG_ENUM not IPP_TAG_INTEGER.
2013-06-06 11:14:21 +02:00
Colin Walters
28ac40f0f9 modules/input: Only build quartz module if we're targeting quartz
Otherwise the build is broken on GNU/Linux and Win32.
2013-05-20 14:06:32 -04:00
E K Kato
21c775a2c8 Bug 694273 - Support for NSTextInputClient in text widgets 2013-05-20 10:03:17 -07:00
Rémi Cardona
8b719abcbb Remove dangling weak-refs to TreeModel object
When a tree view is detroyed, its GailTreeView is destroyed as well but the
weak references are kept and thus point to a freed memory block. A
segfault may arise when the model is destroyed in turn and the weak-ref
mechanism tries to clear the pointers in freed memory.

This patch removes the weak references either when the GailTreeView is
being freed or when a new model is attached to the underlying GtkTreeView.

https://bugzilla.gnome.org/show_bug.cgi?id=694711
2013-05-09 11:55:46 -04:00
Christophe Fergeau
3acacc0384 Sanitize memory handling in cups_request_printer_list_cb
gtk+ was trying to display already freed strings, leaking memory,
...I noticed this because I was getting weird blinking characters
as the status of my cups printers, and valgrind confirmed something
was wrong.

https://bugzilla.gnome.org/show_bug.cgi?id=683072
2013-04-08 11:15:50 +02:00
Jan Rękorajski
85825ebaf2 print dialog: Fix authentication logic
Reset state of CUPS requests correctly during authentization and
check CUPS requests for errors.
Don't initialize variables holding password and username with empty
string (#664640).
2013-01-18 14:29:53 +01:00
Marek Kasik
d9f9925878 printing: Add "Custom." prefix only once to paper size
Check whether "Custom." prefix is already present in the name
of selected paper size. (#679883)
(cherry picked from commit be7752183e)
2012-12-16 19:17:45 +01:00
Chun-wei Fan
2d57ddd6ef gtkimcontexttime.c: Check context_ime->client_window is not NULL
Be a bit more careful in get_pango_attr_list() and
get_utf8_preedit_string() to ensure that the client_window is properly
created before proceeding, to avoid access violation/segfault crashes on
Windows with IME installed, especially when running the pickers demo.

https://bugzilla.gnome.org/show_bug.cgi?id=682919
(cherry picked from commit a866ed7378)
2012-11-26 16:31:44 +01:00
Michael Natterer
f357151cc6 Bug 668239 - texts disappear when notebook switch page at zh_CN locate
In gtkimcontextime.c, use gdk_win32_window_get_impl_hwnd() to get to
the impl's existing native window instead of GDK_WINDOW_HWND() which
implicitly ensures a native window for the widget itself. This seems
to work around whatever GDK problem with native subwindows and fixes
the bug.
2012-11-23 15:42:13 +01:00
Kazuki Iwamoto
2a24ee0756 Avoid a crash in gtk_im_context_ime_reset
When GTK+ runs with inputim-ime.dll module, there is NULL
pointer reference. Because "context_ime->client_window" may
be NULL in gtk_im_context_ime_reset.

https://bugzilla.gnome.org/show_bug.cgi?id=644906
(cherry picked from commit 74f57ee04d)
2012-11-20 12:32:37 +01:00
Matthias Clasen
53f3e5ee94 Avoid infinite recursion in the ime input module 2012-11-19 09:31:59 -05:00
Michael Natterer
c5421263e4 gail: use connect_object() for connecting to GtkTextBuffer signals
because the user_data is the GtkTextView. This used to crash when the
text view got destroyed, and the buffer was used for another view.
Fixes bug #652204.
2012-11-05 03:19:50 +01:00
Cosimo Cecchi
85f2a721cf pixbuf-engine: add a GtkRC option for widget direction
Add a GtkRC option to select for an LTR/RTL widget direction in the
pixbuf engine; this will allow the engine to apply different theming
assets according to the text direction, which is useful when theming
e.g. a spinbutton or a combobox entry.
2012-07-05 10:08:10 -04:00
John Ralls
63f6e92001 modules/printing/cups/gtkprintbackendcups.c won't build with CUPS 1.6
Fix up accesses of ipp structures in gtkcupsutils.c
2012-04-23 14:50:01 -07:00
John Ralls
75103b62e5 modules/printing/cups/gtkprintbackendcups.c won't build with CUPS 1.6
Having refactored cups_request_printer_list_cb so that the cups
 version-dependent block size is small enough to be handled in a single
 ifdef, make the ifdef HAVE_CUPS_API_1_6 block
2012-04-23 14:49:47 -07:00
John Ralls
7d2725e400 Move some variable declarations into the scopes in which they're used. 2012-04-23 14:49:25 -07:00
John Ralls
b7d59f73db Extract Function cups_create_printer 2012-04-23 14:48:52 -07:00
John Ralls
0d1edac55b Extract function cups_printer_handle_attribute 2012-04-23 14:48:39 -07:00
John Ralls
61dd746d51 Extract printer setup variables into a struct
So that it can be passed as a single parameter to functions as we
extract-function to make cups_request_printer_list_cb more manageable.

Note that not all of the affected variables are changed in this
changeset. Those are in extracted functions and will be addressed in the
next two changes.
2012-04-23 14:48:25 -07:00
John Ralls
399f31021c Create enum PrinterStateLevel
Fixes "magic number" in printer_state_reason_level.
2012-04-23 14:47:33 -07:00
John Ralls
3100279bf1 Extract reasons and reasons_desc arrays to file level
So that they can be used from more than one function. Rename them to
avoid naming conflicts.
2012-04-23 14:47:15 -07:00
John Ralls
0883b09086 modules/printing/cups/gtkprintbackendcups.c won't build with CUPS 1.6
The first, simple changes. Turns off the deprecation warnings and
 substitutes macros and short ifdef blocks where feasible.
2012-04-23 14:46:54 -07:00