Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
setting the owning window by calling gtk_window_set_transient_for.
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
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).
|
|
|
|
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).
|
|
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.
|
|
matches g_iconv exactly. Make character set name buffer dynamically sized.
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
Avoid doc-comment in header as they are interpreted by g-ir-scanner, fix a typo,
remove empty lines, add to change log.
|
|
- 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
|
|
g-ir-scanner expects a certain naming scheme. Adhering gives the benefit of
automatically getting correct gobject-introspection data.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
for passing integer values to callbacks, and avoiding casts by making functions
follow prototypes exactly.
|
|
|
|
versions of GTK+.
|
|
|
|
height as this causes "Invalid rectangle passed" warning messages.
|
|
Japanese) IME input.
|
|
|
|
|
|
versions of GTK+.
|
|
|
|
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.
|
|
It also drops use of gtk_style_context_get_background_color() that has
been deprecated in 3.16.
This however has no functional changes.
|
|
|