aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk/ScintillaGTK.cxx
AgeCommit message (Collapse)AuthorFilesLines
2017-02-01Bug [#1901]. Make trackpad scrolling work on Wayland.John Flatness1-0/+35
2017-01-04Don't set window background on GTK+ 3.22 as this is deprecated.Neil1-1/+3
2017-01-04Fix display of autocompletion lists and calltips on GTK+ 3.22 on Wayland byNeil1-0/+3
setting the owning window by calling gtk_window_set_transient_for.
2016-12-01Ensure application can override right mouse button by returning FALSE.Neil1-0/+1
2016-11-23Implementation of MarginRightClick event.Tse Kit Yam1-2/+10
2016-11-07Remove warning suppressions for a version of Clang from 4 years ago.Neil1-5/+0
2016-10-23Bug [#1874]. GTK: Avoid warnings about unused parametersColomban Wendling1-5/+5
Either remove the parameter name if it is never used, or mark it with G_GNUC_UNUSED when it might be used depending on some preprocessor flags.
2016-10-23Bug [#1873]. GTK: Don't forward calls to NULL scrollbarsColomban Wendling1-4/+8
Once Dispose() has been called, scrollbars will be NULL, so we need to check against this in code that might run after Dispose(). Fixes scary warnings on certain widget destruction scenarios.
2016-10-21Initial accessibility support for the GTK platform v7Colomban Wendling1-288/+88
2016-10-09GTK: Avoid theoretical access to a destroyed object on async pasteColomban Wendling1-7/+58
GTK clipboard is asynchronous, which means that the answer to a request can theoretically arrive at any moment in the future after the request. This poses a problem as the receiving code has to make sure the object on which the paste was requested still actually exists by the time the response arrives, as it could have been destroyed in the meantime. A possible solution is to add a reference to the object during the query so that it is kept alive as needed. However, this means that if the paste request really takes a long time to get answered, it can prevent the application from destroying the object explicitly, possibly at the user's request. So instead, use a helper object adding a weak reference to the object, and only process the paste request response if the object is still alive then. All this is fairly theoretical though, as in practice paste is generally not effectively asynchronous (GTK tries and calls the response callback directly in the request call when possible), and when it is effectively asynchronous, it generally is very fast.
2016-08-10Bug [#1851]. Fix scroll bar size warnings.Chris Mayo1-1/+1
2016-05-22Bug [#1831]. Fix GTK+ error due to not allocating enough space for scrollbars.Johannes Sasongko1-5/+12
2016-05-18Normalized formatting.Neil Hodgson1-7/+5
2016-05-17Enable g-ir-scanner to scan ScintillaObject signalsThomas Martitz1-9/+26
Currently, the ScintillaObject signals can't be used from python code via gobject-introspection. This is because g-ir-scanner does not properly scan the signals. For signals, there is the additional requirement that parameters have are registered GTypes. For the sci-notify signal, this can be accomplished by boxing SCNotification. In addition, g-ir-scanner also runs on Scintilla.h where it picks up additional structs. test/gi/ is updated accordingly. The test python script is enhanced to showcase the signals (some fixes to the makefile are included as well).
2016-05-17Backed out changeset: 89cda794d0dd as fixed changeset will be sent by author.Neil1-11/+9
2016-04-26Enable g-ir-scanner to scan ScintillaObject signalsThomas Martitz1-9/+11
Currently, the ScintillaObject signals can't be used from python code via gobject-introspection. This is because g-ir-scanner does not properly scan the signals. For signals, there is the additional requirement that parameters have are registered GTypes. For the sci-notify signal, this can be accomplished by boxing SCNotification. In addition, g-ir-scanner also runs on Scintilla.h where it picks up additional structs. test/gi/ is updated accordingly. The test python script is enhanced to showcase the signals (some fixes to the makefile are included as well).
2016-05-11Bug [#1827]. GTK: Avoid possible IdleWork() calls on destructed objectsColomban Wendling1-5/+16
The idle callback removal clause in the ScintillaGTK destructor got broken in 4e5c321dda8e69104cb7b639c3107dc11dbc00f6, leading to the callback not being removed thus possibly running after the instance destruction. Indeed, gdk_threads_add_idle() wraps g_idle_add() with a custom user data, thus making the g_source_remove_by_user_data() call in the destructor incorrect, as we give it our own user data, not GDK's wrapper one. Fix the callback removal not to use user data matching to avoid this.
2016-05-05Remove template adaptor as only g_iconv is used now. Use glib's gsize type as itNeil Hodgson1-4/+4
matches g_iconv exactly. Make character set name buffer dynamically sized.
2016-05-03Avoid use of const_cast when retrieving window positions.Neil1-1/+1
2016-05-01Do not call deprecated functions on newer GTK+.Neil Hodgson1-0/+6
2016-04-27GTK: Properly ask wText what size it wants to please GTK 3.20Colomban Wendling1-2/+11
It's not really of any use as we do know any size would do as wText is ours anyway, but GTK 3.20 doesn't like allocating without querying the preferred size beforehand, so do it. As wText has a size_request() of 100x100, this might change how we allocate in case we used to underallocate it, but AFAIK we don't, and it is the real minimum size expected.
2016-04-14Simplified IME caret positioning.johnsonj1-12/+8
2016-04-08Scintilla Gtk: use gdk_threads_add_idle_full() instead of g_idle_add_full() ↵Robin Haberkorn1-16/+5
and gdk_threads_add_timeout() instead of g_timeout_add() * The g_idle/g_timeout watchers are not executed with the Gdk lock held. This causes memory corruptions and crashes when accessing the Scintilla object from the non-main-loop-thread. At least this was the case after Gdk 3.6 since Scintilla used gdk_threads_enter()/leave() for earlier versions. The timeout handlers have possibly always been broken. * The new version should work with non-deprecated APIs in all Gdk versions. * Even though this only fixes the idle handlers in Gdk >= 3.6 where gdk_threads_enter() is deprecated (the only way to provoke above situation) - and the timers of course - this patch makes the code more elegant.
2016-03-29Feature [feature-requests:#1142]. Allow Super modifier on GTK+.Neil1-5/+3
2016-03-10Fix caret position bug on Qt and Gtk for win32 for Korean.rel-3-6-4johnsonj1-0/+2
2016-02-09Fix 64-bit build on Windows which was broken in 3.6.3 as long only 32-bits.Neil1-1/+1
2016-01-02IME attribute processing simplified for GTK+.johnsonj1-32/+19
2015-12-15Minor cleanups for GObject introspection.Neil1-3/+0
Avoid doc-comment in header as they are interpreted by g-ir-scanner, fix a typo, remove empty lines, add to change log.
2015-12-13Fix issues raised by review and some moreThomas Martitz1-3/+3
- remove any notion of deprecation of legacy symbol names - make sure typelib search path is set for test program - add separate test target to test/gi/makefile - improve g-ir-scanner call command line - fixed gtk2 support of test test/gi/gi-test.py
2015-08-10Enable g-ir-scanner to run on ScintillaWidget.hThomas Martitz1-4/+21
g-ir-scanner expects a certain naming scheme. Adhering gives the benefit of automatically getting correct gobject-introspection data.
2015-12-15Simplify IME code by using g_unichar_to_utf8.johnsonj1-44/+21
2015-12-14Block IME when some selected text is protected.johnsonj1-1/+1
2015-12-11Korean input by word fixed.johnsonj1-4/+3
2015-12-08Cancel IME composition for read-only documents.johnsonj1-0/+5
2015-11-20Remove line end whitespace.Neil1-2/+2
2015-11-13Check for NULL value in ScintillaGTK::ForAll()Jiří Techet1-2/+4
2015-11-06Unparent scrollbars in dispose on GTKJiří Techet1-3/+23
Dispose should be used to remove references to objects that might point to the destructed object. This is the case of scrollbars whose parent is ScintillaGtk and which internally hold pointers to it. This eliminates warnings on OS X.
2015-09-27Simplify casting by using static_cast instead of reinterpret_cast, glib macrosNeil1-21/+22
for passing integer values to callbacks, and avoiding casts by making functions follow prototypes exactly.
2015-09-05Remove #if sections which are not required for GTK+ 2.18.nyamatongwe1-60/+2
2015-09-05With the minimum GTK+ version now 2.18, remove #if conditions required for oldernyamatongwe1-24/+1
versions of GTK+.
2015-09-04Change FillVirtualSpace to ClearBeforeTentativeStart and delete selected text.johnsonj1-1/+1
2015-08-06Bug [#1743]. Never report the client rectangle as having a negative width orNeil1-0/+4
height as this causes "Invalid rectangle passed" warning messages.
2015-07-28Avoid candidate box randomly popping up away from edit pane with (especiallyjohnsonj1-0/+1
Japanese) IME input.
2015-07-27Add Position.h as a place-holder and to allow #include "Position.h" in source.Neil1-0/+1
2015-07-05GTK: Fix leaking scrollbarsColomban Wendling1-0/+3
2015-06-05Simplified retrieval of correct display for widget and ensure works on older ↵nyamatongwe1-5/+1
versions of GTK+.
2015-06-04Restored compatibility with GTK+ 2.18 for cursor calls.nyamatongwe1-2/+5
2015-06-03GTK: Don't use gdk_window_set_user_data() in a deprecated mannerColomban Wendling1-0/+4
Since GTK 3.8 gtk_widget_register_window() should be used instead of gdk_window_set_user_data() in a widget's ::realize() method. gtk_widget_unregister_window() is called by the GtkWidget's ::unrealize() handler we chain up to. This has no functional impact.
2015-06-03GTK: Use the proper GTK3 way to set widget window backgroundColomban Wendling1-6/+2
It also drops use of gtk_style_context_get_background_color() that has been deprecated in 3.16. This however has no functional changes.
2015-06-03GTK: Remove unused prototypeColomban Wendling1-1/+0