Browse Source

Fixed GTK_VERSION_GT_MICRO check

merge-requests/413/head
eidheim 3 years ago
parent
commit
7e15a8a398
  1. 3
      src/selection_dialog.cpp
  2. 2
      src/tooltips.cpp
  3. 6
      src/utility.hpp

3
src/selection_dialog.cpp

@ -1,4 +1,5 @@
#include "selection_dialog.hpp" #include "selection_dialog.hpp"
#include "utility.hpp"
#include <algorithm> #include <algorithm>
SelectionDialogBase::ListViewText::ListViewText(bool use_markup) : Gtk::TreeView(), use_markup(use_markup) { SelectionDialogBase::ListViewText::ListViewText(bool use_markup) : Gtk::TreeView(), use_markup(use_markup) {
@ -138,7 +139,7 @@ SelectionDialogBase::SelectionDialogBase(Source::BaseView *view_, const boost::o
} }
SelectionDialogBase::~SelectionDialogBase() { SelectionDialogBase::~SelectionDialogBase() {
#if defined(__APPLE__) && GTK_VERSION_GT_MICRO(3, 24, 34) #if defined(__APPLE__) && GTK_VERSION_GT_MICRO2(3, 24, 34)
// Workaround for https://gitlab.gnome.org/GNOME/gtk/-/issues/5593 by keeping window alive slightly longer // Workaround for https://gitlab.gnome.org/GNOME/gtk/-/issues/5593 by keeping window alive slightly longer
window.close(); window.close();
Glib::signal_timeout().connect([window = std::make_shared<Gtk::Window>(std::move(window))] { return false; }, 5000); Glib::signal_timeout().connect([window = std::make_shared<Gtk::Window>(std::move(window))] { return false; }, 5000);

2
src/tooltips.cpp

@ -19,7 +19,7 @@ Tooltip::Tooltip(std::function<void(Tooltip &)> set_buffer_)
: view(nullptr), set_buffer(std::move(set_buffer_)) {} : view(nullptr), set_buffer(std::move(set_buffer_)) {}
Tooltip::~Tooltip() { Tooltip::~Tooltip() {
#if defined(__APPLE__) && GTK_VERSION_GT_MICRO(3, 24, 34) #if defined(__APPLE__) && GTK_VERSION_GT_MICRO2(3, 24, 34)
// Workaround for https://gitlab.gnome.org/GNOME/gtk/-/issues/5593 by keeping window alive slightly longer // Workaround for https://gitlab.gnome.org/GNOME/gtk/-/issues/5593 by keeping window alive slightly longer
if(window) { if(window) {
window->close(); window->close();

6
src/utility.hpp

@ -3,6 +3,12 @@
#include <set> #include <set>
#include <string> #include <string>
// GTK_VERSION_GT_MICRO has a typo (in gtkmm/base.h)
#define GTK_VERSION_GT_MICRO2(major, minor, micro) \
((GTK_MAJOR_VERSION > major) || \
(GTK_MAJOR_VERSION == major) && (GTK_MINOR_VERSION > minor) || \
(GTK_MAJOR_VERSION == major) && (GTK_MINOR_VERSION == minor) && (GTK_MICRO_VERSION > micro))
class ScopeGuard { class ScopeGuard {
public: public:
std::function<void()> on_exit; std::function<void()> on_exit;

Loading…
Cancel
Save