Age | Commit message (Collapse) | Author | Files | Lines |
|
Unlike deprecated GtkImageMenuItem, MateImageMenuItem is declared as "final" and cannot be subclassed. Use GtkImageMenuItem for those two cases until a new major version bump allows fixing this in mate-desktop
|
|
- fix crashing panel with --replace option
This reverts commit 675f72ff302409dcbfb1991cf56fd09a294039bf.
- fixes https://github.com/mate-desktop/mate-panel/issues/1433
|
|
|
|
|
|
|
|
|
|
No need to have pointers to mutables when not needed.
This does not cover everything at all, and is limited to one file for
the moment.
origin commit was:
https://github.com/mate-desktop/mate-panel/commit/b913762
|
|
The computed values are only used in one branch, so compute them there.
|
|
It's probably not necessary to perform the NULL check at all as the
only code paths that could make `list` NULL are already pretty
dramatically broken, but as we have a NULL check move everything
relevant inside it.
|
|
Mostly found by cppcheck.
origin commit was:
https://github.com/mate-desktop/mate-panel/commit/96c7ebc
|
|
This reverts commit 38e00280e9d17282717595a05411736a308804c0.
|
|
This reverts commit 7b1b00d5ddffc349ca117843bd0d015e9fb08a89.
|
|
This reverts commit 96c7ebc6dc9e8b8327db04a9570054ee78743353.
|
|
This reverts commit 17b87e321bfca409c31ce4b4e0e3326eeef92b88.
|
|
This reverts commit 655a8f484598a07a210dc56f1662021f8be69737.
|
|
This reverts commit b91376262abb56d95f9ec86993edaa8e9fb2cc1a.
|
|
*Fix the window list menu replacing the panel context menu between the end of the window list and the next applet
|
|
This code got introduced with 3c21f66bf30810fcb25dfe8c3c0960df270dc416
trying to mimic `gdk_spawn_on_screen()`, but does not: what
`gdk_spawn_on_screen()` did (on X11) was to append the screen number to
the display, so that it worked on a multi-screen setup where the app is
not on the default X screen.
However, the code that got introduced just sets the display, which is
gonna be already there anyway (yet possibly loosing the default screen
in the process?), and AFAIK GDK dropped support for multi-screen setups
anyway (not to be confused with multi-monitor with e.g. Xinerama).
We should actually be better of without any of this, as it most likely
doesn't do what it is supposed to, nobody needs what it failed to do,
and it breaks XWayland on Wayland.
Fixes #1387.
|
|
|
|
|
|
|
|
No need to have pointers to mutables when not needed.
This does not cover everything at all, and is limited to one file for
the moment.
|
|
The computed values are only used in one branch, so compute them there.
|
|
`info` cannot be NULL, and if it was it'd already have crashed above.
> mate-panel/panel.c:893:34: warning: Either the condition 'info!=((void*)0)' is redundant or there is possible null pointer dereference: info. [nullPointerRedundantCheck]
> parent = gtk_widget_get_parent (info->widget);
> ^
> mate-panel/panel.c:895:11: note: Assuming that condition 'info!=((void*)0)' is not redundant
> if (info != NULL &&
> ^
> mate-panel/panel.c:893:34: note: Null pointer dereference
> parent = gtk_widget_get_parent (info->widget);
> ^
|
|
It's probably not necessary to perform the NULL check at all as the
only code paths that could make `list` NULL are already pretty
dramatically broken, but as we have a NULL check move everything
relevant inside it.
|
|
|
|
This is not strictly needed as there's already an assertion (assuming
it's not compiled out), but returning a value help analyzers get this
right.
|
|
No need to get the default icon theme again anyway.
|
|
|
|
|
|
Mostly found by cppcheck.
|
|
> mate-panel/panel-action-button.c:516:26: style: struct member 'PanelAction::type' is never used. [unusedStructMember]
> PanelActionButtonType type;
> ^
|
|
- Build the list in reverse order, then reverse the result. This is
useful because GS?List are list nodes, not containers of nodes, and
thus don't contain a pointer to the list's end, meaning to append one
has to walk the entire list to find the end each time. To avoid this
we use the common idiom of prepending to the list (which is cheap, as
it's adding a node before the given one), and then reversing the
resulting list to get back the original order.
- Avoid unnecessary memory copy by stealing the GStrv's members. We
get the array as a copy, so we can simply steal the members and free
the container array only, saving a copy for each member.
|
|
There is no need to return -1 or 1 specifically, anything on the right
side of 0 is OK, so simplify using the usual `a - b` implementation for
such sort functions.
Note that the type is OK here, as the `struct tm` are ints, the same as
the function's return value.
|
|
cppcheck tells us that we perform NULL checking inconsistently, and
reports a potential NULL dereference. Here however the string cannot
be NULL, so just drop the unnecessary check.
> mate-panel/panel-run-dialog.c:1663:10: warning: Either the condition '!start' is redundant or there is possible null pointer dereference: start. [nullPointerRedundantCheck]
> while (*start != '\0' && g_ascii_isspace (*start))
> ^
> mate-panel/panel-run-dialog.c:1679:6: note: Assuming that condition '!start' is not redundant
> if (!start || !start [0]) {
> ^
> mate-panel/panel-run-dialog.c:1663:10: note: Null pointer dereference
> while (*start != '\0' && g_ascii_isspace (*start))
> ^
|
|
This is *not* an issue, as it's not really a bounds check but a mere
limit, and the array is NULL-terminated.
However, it looks odd and cppcheck (unsurprisingly) doesn't understand
the details well enough and reports this as a misordered bounds check.
> mate-panel/panel-run-dialog.c:166:12: style: Array index 'i' is used before limits check. [arrayIndexThenCheck]
> items[i] && i < history_max_size;
> ^
|
|
Fixes #1412.
|
|
Cherry-picked from gnome-panel commit
1cc654e16dc06edccaef8c877db4e0da30ceeeaa.
|
|
Cherry-picked from gnome-panel commit
55667a735ea33336f5b0912631b184b95ea2140b.
|
|
*After replacing gtk_image_menu_item with mate_image_menu_item
*We must also replace GTK_TYPE_IMAGE_MENU_ITEM with MATE_TYPE_IMAGE_MENU_ITEM
*This fixes leftover GtkImageMenuItem deprecation warnings and restores missing Places and System icons in main menus
|
|
|
|
*For some reason "widget" is not being properly passed to this, so use NULL for the parent window
|
|
*This uses systemd to be able to shutdown when a display manager is running as root
*If no session or display manager is running as root, systemd used only to suspend or hibernate
*Suspend/hibernate require systemd at this point
*If suspend or hibernate not supported error dialog shown if those buttons clicked
*If "disable logout" lockdown option set, shut down button cannot be added same as in x11
*If shut down button added to panel and lockout later disabled, same non-responsive button as in x11
*Logind support would be welcome
|
|
*Compute the size of the monitor we are actually showing the popup on
*by getting the monitor it is shown on and running gdk_monitor_get_geometry()
*This returns application (scaled) pixels not device pixels
|
|
|
|
|
|
|
|
|
|
* There is only one screen in GTK 3.22 or later
* Finding the screen from that used by GtkPanelPlug is out of process only
* Any in-process applet calling mate_panel_applet_request_focus needs this to avoid a segfault
* One known user: dictionary applet
|
|
*Otherwise taskbuttons for programs using URLs or filenames in the window name can balloon across the whole taskbar
|