summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* x11: Handle X-specific targets in dropsx11-dnd-fixMatthias Clasen2021-02-031-5/+46
| | | | | | | This code is very similar to the handling for these targets in the clipboard case. Fixes: #3642
* Merge branch 'matthiasc/for-master' into 'master'Matthias Clasen2021-02-032-2/+182
|\ | | | | | | | | Matthiasc/for master See merge request GNOME/gtk!3150
| * Link the data url tests staticallyMatthias Clasen2021-02-031-2/+2
| | | | | | | | Thats the cleaner way to test internal apis.
| * Add tests for css value transitionsMatthias Clasen2021-02-032-0/+180
|/ | | | | Just a few cases for now, enough to test a recently fixed regression with shadow transitions.
* Merge branch 'uac.meson.master' into 'master'Chun-wei Fan2021-02-032-1/+134
|\ | | | | | | | | | | | | gtk4-update-icon-cache: Avoid UAC on 32-bit Windows Closes #3632 See merge request GNOME/gtk!3141
| * gtk4-update-icon-cache: Avoid UAC on 32-bit WindowsChun-wei Fan2021-02-032-1/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the program executable name has 'update' in its filename, gtk4-update-icon-cache.exe is considered to be an installer program on 32-bit Windows [1], which will cause the program to fail to run unless it is running with elevated privileges (i.e. UAC). Avoid this situation by embedding a manifest file into the final executable that tells Windows that this is not a program that requires elevation. Fixes issue #3632. [1]: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-vista/cc709628(v=ws.10)?redirectedfrom=MSDN, under section "Installer Detection Technology"
* | Merge branch 'matthiasc/for-master' into 'master'Matthias Clasen2021-02-031-3/+0
|\ \ | | | | | | | | | | | | css: Allow transitioning different-size shadows See merge request GNOME/gtk!3145
| * | css: Allow transitioning different-size shadowsMatthias Clasen2021-02-021-3/+0
|/ / | | | | | | | | The code handles it just fine. The length check was an erronous addition.
* | Merge branch 'im-context-work' into 'master'Matthias Clasen2021-02-0223-693/+1086
|\ \ | | | | | | | | | | | | | | | | | | Some im context work Closes #1004, #186, and #3521 See merge request GNOME/gtk!3143
| * | composetable: Parse hex escapes tooMatthias Clasen2021-02-024-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | This was a small omission from the Compose file syntax that doesn't cost us much to support. Add a test for this syntax too. Fixes: #1004
| * | Add tests for string valuesMatthias Clasen2021-02-023-4/+54
| | | | | | | | | | | | | | | Add a test that checks we parse values with multiple characters correctly.
| * | composetable: Support string values in the cacheMatthias Clasen2021-02-021-47/+39
| | | | | | | | | | | | | | | Change the cache format to include the character data that we need to hold string values in the table.
| * | composetable: Don't use GSlice for big blobsMatthias Clasen2021-02-021-3/+3
| | | | | | | | | | | | | | | This just doesn't make sense. This will use malloc anyway, so just call malloc directly.
| * | composetable: Keep multi-char valuesMatthias Clasen2021-02-022-8/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | Keep string values in the table, and return them from the check function. This commit temporarily disables the table caching, since the cache format does not handle string values yet. Fixes: #186
| * | composetable: Parse multi-char valuesMatthias Clasen2021-02-021-45/+37
| | | | | | | | | | | | | | | Rewrite the value parsing function to accept strings that hold more than a single Unicode character.
| * | composetable: Another step towards multi-char valuesMatthias Clasen2021-02-021-19/+25
| | | | | | | | | | | | | | | | | | Change the parser data structures to hold a string, rather than a gunichar. We still only put a single Unicode character into it, currently.
| * | composetable: Prepare for multi character valuesMatthias Clasen2021-02-023-16/+25
| | | | | | | | | | | | | | | | | | | | | Make it possible for gtk_compose_table_check to return a string instead of just a single Unicode character. Currently, we only ever return strings holding a single character, still.
| * | imcontext: Prepare for multi-char valuesMatthias Clasen2021-02-011-46/+63
| | | | | | | | | | | | | | | | | | Reshuffle things so we can easily handle values that are strings instead of just single Unicode characters.
| * | composetable: Check algorithmic matchingMatthias Clasen2021-02-011-0/+46
| | | | | | | | | | | | | | | Just some spot checks, enough to verify the fix in the previous commit.
| * | composetable: Fix algorithmic matchingMatthias Clasen2021-02-011-3/+3
| | | | | | | | | | | | | | | The code wasn't paying attention to (lack of) nul-termination in one place, causing it to not match when it should.
| * | composetable: Add tests for compact table matchingMatthias Clasen2021-02-011-0/+47
| | | | | | | | | | | | Not very exhaustive, just some spot checks.
| * | imcontext: Code cleanupMatthias Clasen2021-02-011-52/+28
| | | | | | | | | | | | Get rid of auxiliary check_table function.
| * | imcontext: Move code aroundMatthias Clasen2021-02-014-373/+322
| | | | | | | | | | | | | | | Move all the checking code to gtkcomposetable.c, and add api that we can use in tests.
| * | composetable: Add tests for matchingMatthias Clasen2021-02-012-0/+71
| | | | | | | | | | | | | | | This tests the api we use to match key sequences against compose tables.
| * | imcontext: Use gtk_compose_table_checkMatthias Clasen2021-02-011-59/+24
| | | | | | | | | | | | Use the just-introduced api.
| * | composetable: Add api to check tablesMatthias Clasen2021-02-012-7/+117
| | | | | | | | | | | | | | | This copies the check_table code from gtkimcontextsimple.c, in order to have an api for tests.
| * | Add tests for GtkComposeTableMatthias Clasen2021-02-0112-0/+144
| | | | | | | | | | | | | | | | | | Add some tests for the code that parses Compose files. This tests the fix in the previous commit.
| * | composetable: Drop table debug codeMatthias Clasen2021-02-011-58/+0
| | | | | | | | | | | | This is better off in the tests that we are going to add.
| * | composetable: Parser fixesMatthias Clasen2021-02-011-6/+18
| | | | | | | | | | | | We were not handling octal escapes right.
| * | imcontext: Drop GTK_MAX_COMPOSE_LENMatthias Clasen2021-02-013-7/+3
| | | | | | | | | | | | | | | | | | | | | Drop GTK_MAX_COMPOSE_LEN from docs. It is no longer used by GTK at all. We leave the define in place for now, to avoid breaking 3rd party code that might use it.
| * | composetable: Warn when ignoring thingsMatthias Clasen2021-02-011-1/+4
| | | | | | | | | | | | | | | We should at least give a hint that we've seen the line, otherwise people will wonder why nothing happened.
| * | composetable: parse long sequencesMatthias Clasen2021-02-011-11/+16
| | | | | | | | | | | | | | | | | | Allow compose sequences of up to 20 code points. Fixes: #3521
| * | composetable: Fix an off-by-oneMatthias Clasen2021-02-011-2/+2
| | | | | | | | | | | | | | | Fix an off-by-one in the code parsing octal escapes in compose files.
| * | imcontext: Stop using GTK_MAX_COMPOSE_LENMatthias Clasen2021-02-011-22/+44
| | | | | | | | | | | | | | | Allocate the compose_buffer, and resize it when needed to match the tables we use.
| * | imcontext: Code cleanupMatthias Clasen2021-02-011-8/+4
| |/ | | | | | | | | Use g_clear_pointer instead of opencoding it in multiple places.
* | Merge branch 'wip/silence-bounds-warnings' into 'master'Matthias Clasen2021-02-021-17/+0
|\ \ | |/ |/| | | | | | | | | gdk/toplevelsize: Remove warnings about exceeding bounds Closes #3035 See merge request GNOME/gtk!3142
| * gdk/toplevelsize: Remove warnings about exceeding boundsJonas Ådahl2021-02-011-17/+0
|/ | | | | | | | | | | | Sometimes the size will exceed the minimum bounds. For example crazy applications like the widget factory that contains the world, or when a user interactively resizes a window to be larger than the monitor the window is on is. The former is questionable, but the latter is not, and from here we can't really see the difference, so just stop complaining. Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3035
* Merge branch 'matthiasc/for-master' into 'master'Matthias Clasen2021-02-012-105/+137
|\ | | | | | | | | | | | | Matthiasc/for master Closes #2319 See merge request GNOME/gtk!3140
| * imcontext: Allow sequences of length GTK_MAX_COMPOSE_LENMatthias Clasen2021-02-011-1/+1
| | | | | | | | | | | | | | | | There was an off-by-one error, making us reject sequences of this length. But the rest of the code handles them just fine. Fixes: #2319
| * imcontext: Improve an error messageMatthias Clasen2021-02-011-1/+1
| | | | | | | | | | This error message was misleading, as pointed out by Ralf Jung.
| * imcontext: Add a precondition checkMatthias Clasen2021-02-011-0/+1
| |
| * imcontext: Show preedit for compose sequencesMatthias Clasen2021-02-011-55/+71
| | | | | | | | | | | | Show the sequences as they are entered, using ⎄ for the compose key, to match what IBus does nowadays. Also handle backspace to allow corrections.
| * imcontext: Update our check for dead keysMatthias Clasen2021-01-311-48/+63
| | | | | | | | | | | | A bunch of keysyms for dead keys have been added since this code was last touched. Update the check to cover the full range from dead_grave to dead_greek.
* | Merge branch 'matthiasc/for-master' into 'master'Matthias Clasen2021-02-013-293/+10
|\ \ | |/ | | | | | | Matthiasc/for master See merge request GNOME/gtk!3139
| * Remove a forgotten fileMatthias Clasen2021-01-311-293/+0
| | | | | | | | | | The example series only has 9 steps now. Remove remnants of step 10.
| * nativedialog: Add more docsMatthias Clasen2021-01-312-0/+10
| | | | | | | | | | Emphasize that native dialogs aren't widgets, and are not kept alive by GTK.
* | Merge branch 'wip/exalm/consumes-motion' into 'master'Matthias Clasen2021-02-0122-149/+111
|\ \ | |/ |/| | | | | | | | | Drag fixes and cleanups Closes #3513 See merge request GNOME/gtk!3001
| * windowhandle: Use drag threshold instead of double click thresholdwip/exalm/consumes-motionAlexander Mikhaylenko2021-01-291-10/+2
| | | | | | | | | | | | | | | | Now that we have gtk_drag_check_threshold_double(), be consistent with other draggable widgets and make sure we don't take over a drag before a child does. Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3513
| * dragsource: Use double coordinates for checking drag thresholdAlexander Mikhaylenko2021-01-2917-45/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If multiple nested widgets have drag sources on them, both using bubble phase, we need to reliably pick the inner one. Both of them will try to start dragging, and we need to make sure there are no situations where the outer widget starts drag earlier and cancels the inner one. Currently, this can easily happen via integer rounding: start and current coordinates passed into gtk_drag_check_threshold() are initially doubles (other than in GtkNotebook and GtkIconView), and are casted to ints. Then those rounded values are used to calculate deltas to compare to the drag threshold, losing quite a lot of precision along the way, and often resulting in the outer widget getting larger deltas. To avoid it, just don't round it. Introduce a variant of the function that operates on doubles: gtk_drag_check_threshold_double() and use it instead of the original everywhere.
| * entry: Fix drag threshold checkAlexander Mikhaylenko2021-01-291-5/+6
| | | | | | | | It was passing offsets as current oordinates.