summaryrefslogtreecommitdiffstats
path: root/vcl/unx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/unx')
-rw-r--r--vcl/unx/generic/print/genprnpsp.cxx5
-rw-r--r--vcl/unx/generic/printer/cpdmgr.cxx5
-rw-r--r--vcl/unx/gtk3/glomenu.cxx2
-rw-r--r--vcl/unx/gtk3/gtkinst.cxx22
-rw-r--r--vcl/unx/gtk3/gtksalmenu.cxx7
-rw-r--r--vcl/unx/gtk3/salnativewidgets-gtk.cxx1
6 files changed, 38 insertions, 4 deletions
diff --git a/vcl/unx/generic/print/genprnpsp.cxx b/vcl/unx/generic/print/genprnpsp.cxx
index 33990decad..ce5a45624d 100644
--- a/vcl/unx/generic/print/genprnpsp.cxx
+++ b/vcl/unx/generic/print/genprnpsp.cxx
@@ -638,6 +638,11 @@ OUString PspSalInfoPrinter::GetPaperBinName( const ImplJobSetup* pJobSetup, sal_
return OUString();
}
+sal_uInt16 PspSalInfoPrinter::GetPaperBinBySourceIndex( const ImplJobSetup*, sal_uInt16 )
+{
+ return 0xffff;
+}
+
sal_uInt32 PspSalInfoPrinter::GetCapabilities( const ImplJobSetup* pJobSetup, PrinterCapType nType )
{
switch( nType )
diff --git a/vcl/unx/generic/printer/cpdmgr.cxx b/vcl/unx/generic/printer/cpdmgr.cxx
index 834c1383ef..03cf85a7b7 100644
--- a/vcl/unx/generic/printer/cpdmgr.cxx
+++ b/vcl/unx/generic/printer/cpdmgr.cxx
@@ -81,9 +81,9 @@ void CPDManager::onNameAcquired (GDBusConnection *connection,
G_DBUS_CALL_FLAGS_NONE,
-1, nullptr, nullptr, nullptr);
- g_free(contents);
g_object_unref(proxy);
g_dbus_node_info_unref(introspection_data);
+ g_free(contents);
}
g_free(backend.second);
}
@@ -122,10 +122,10 @@ void CPDManager::printerAdded (GDBusConnection *connection,
nullptr,
nullptr);
- g_free(contents);
g_dbus_node_info_unref(introspection_data);
std::pair<std::string, GDBusProxy *> new_backend (sender_name, proxy);
current->addBackend(std::move(new_backend));
+ g_free(contents);
}
}
CPDPrinter *pDest = static_cast<CPDPrinter *>(malloc(sizeof(CPDPrinter)));
@@ -262,6 +262,7 @@ CPDManager* CPDManager::tryLoadCPD()
{
std::pair<std::string, gchar*> new_tbackend (filename, contents);
pManager->addTempBackend(new_tbackend);
+ g_free(contents);
}
}
g_dir_close(dir);
diff --git a/vcl/unx/gtk3/glomenu.cxx b/vcl/unx/gtk3/glomenu.cxx
index a391649bbb..779d20f9b8 100644
--- a/vcl/unx/gtk3/glomenu.cxx
+++ b/vcl/unx/gtk3/glomenu.cxx
@@ -560,8 +560,8 @@ g_lo_menu_new_submenu_in_item_in_section (GLOMenu *menu,
g_menu_model_items_changed (G_MENU_MODEL (model), position, 1, 1);
- g_object_unref (model);
}
+ g_object_unref (model);
}
GLOMenu *
diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index c76d6291ce..b8da4f7b7a 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -11097,10 +11097,16 @@ private:
gtk_main_do_event(pKeyEvent);
GdkEvent *pTriggerEvent = gtk_get_current_event();
+ bool bEventOwnership = true;
if (!pTriggerEvent)
+ {
pTriggerEvent = pKeyEvent;
+ bEventOwnership = false;
+ }
gtk_menu_popup_at_widget(m_pMenu, pWidget, GDK_GRAVITY_SOUTH_WEST, GDK_GRAVITY_NORTH_WEST, pTriggerEvent);
+ if (bEventOwnership)
+ gdk_event_free(pTriggerEvent);
gdk_event_free(pKeyEvent);
}
@@ -11118,6 +11124,7 @@ private:
{
gdk_event_get_button(pEvent, &nButton);
nTime = gdk_event_get_time(pEvent);
+ gdk_event_free(pEvent);
}
else
{
@@ -11459,8 +11466,12 @@ public:
gtk_main_do_event(pKeyEvent);
GdkEvent *pTriggerEvent = gtk_get_current_event();
+ bool bEventOwnership = true;
if (!pTriggerEvent)
+ {
pTriggerEvent = pKeyEvent;
+ bEventOwnership = false;
+ }
bool bSwapForRTL = SwapForRTL(pWidget);
@@ -11478,6 +11489,8 @@ public:
else
gtk_menu_popup_at_rect(m_pMenu, widget_get_surface(pWidget), &aRect, GDK_GRAVITY_NORTH_EAST, GDK_GRAVITY_NORTH_WEST, pTriggerEvent);
}
+ if (bEventOwnership)
+ gdk_event_free(pTriggerEvent);
gdk_event_free(pKeyEvent);
}
@@ -11500,6 +11513,7 @@ public:
if (!gdk_event_get_button(pEvent, &nButton))
nButton = 0;
nTime = gdk_event_get_time(pEvent);
+ gdk_event_free(pEvent);
}
else
{
@@ -14136,6 +14150,8 @@ private:
#if !GTK_CHECK_VERSION(4, 0, 0)
GdkEvent *pEvent = gtk_get_current_event();
m_bChangedByMouse = pEvent && categorizeEvent(pEvent) == VclInputFlags::MOUSE;
+ if (pEvent)
+ gdk_event_free(pEvent);
#else
//TODO maybe iterate over gtk_widget_observe_controllers looking for a motion controller
#endif
@@ -15500,7 +15516,10 @@ public:
GtkTreePath* end_path;
if (!gtk_tree_view_get_visible_range(m_pTreeView, &start_path, &end_path))
+ {
+ g_object_thaw_notify(G_OBJECT(m_pTreeModel));
return;
+ }
GtkInstanceTreeIter aGtkIter(nullptr);
gtk_tree_model_get_iter(m_pTreeModel, &aGtkIter.iter, start_path);
@@ -16963,6 +16982,8 @@ private:
atk_object_set_description(pChild,
OUStringToOString(sTooltipText, RTL_TEXTENCODING_UTF8).getStr());
g_object_unref(pChild);
+ gtk_tree_path_free(pPath);
+
#endif
}
@@ -20340,6 +20361,7 @@ public:
bFindButtonTextRenderer = false;
}
}
+ g_list_free(cells);
// Seeing as GtkCellRendererPixbuf no longer takes a surface, then insert our own replacement
// to render that instead here
diff --git a/vcl/unx/gtk3/gtksalmenu.cxx b/vcl/unx/gtk3/gtksalmenu.cxx
index a510473650..ddfa5ef36b 100644
--- a/vcl/unx/gtk3/gtksalmenu.cxx
+++ b/vcl/unx/gtk3/gtksalmenu.cxx
@@ -125,6 +125,7 @@ static void RemoveDisabledItemsFromNativeMenu(GLOMenu* pMenu, GList** pOldComman
g_free(pSubCommand);
}
}
+ g_object_unref(pSubMenuModel);
}
}
@@ -830,6 +831,7 @@ bool GtkSalMenu::AddMenuBarButton(const SalMenuButtonItem& rNewItem)
pImage = gtk_image_new_from_gicon(pIcon);
#endif
g_object_unref(pIcon);
+ g_bytes_unref(pBytes);
}
GtkWidget* pButton = AddButton(pImage);
@@ -1361,7 +1363,8 @@ bool GtkSalMenu::NativeSetItemCommand( unsigned nSection,
if ( aCurrentCommand == nullptr || g_strcmp0( aCurrentCommand, aCommand ) != 0 )
{
- bool bOldHasSubmenu = g_lo_menu_get_submenu_from_item_in_section(pMenu, nSection, nItemPos) != nullptr;
+ GLOMenu* pSubMenuModel = g_lo_menu_get_submenu_from_item_in_section(pMenu, nSection, nItemPos);
+ bool bOldHasSubmenu = pSubMenuModel != nullptr;
bSubMenuAddedOrRemoved = bOldHasSubmenu != bIsSubmenu;
if (bSubMenuAddedOrRemoved)
{
@@ -1385,6 +1388,8 @@ bool GtkSalMenu::NativeSetItemCommand( unsigned nSection,
g_lo_menu_set_action_and_target_value_to_item_in_section( pMenu, nSection, nItemPos, aItemCommand, pTarget );
pTarget = nullptr;
}
+ if (bOldHasSubmenu)
+ g_object_unref(pSubMenuModel);
g_free( aItemCommand );
}
diff --git a/vcl/unx/gtk3/salnativewidgets-gtk.cxx b/vcl/unx/gtk3/salnativewidgets-gtk.cxx
index a3a82edaa1..bfdeed4238 100644
--- a/vcl/unx/gtk3/salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/salnativewidgets-gtk.cxx
@@ -2332,6 +2332,7 @@ bool GtkSalGraphics::updateSettings(AllSettings& rSettings)
gchar* pFontname = nullptr;
g_object_get(pSettings, "gtk-font-name", &pFontname, nullptr);
PangoFontDescription* pFontDesc = pango_font_description_from_string(pFontname);
+ g_free(pFontname);
vcl::Font aFont(pango_to_vcl(pFontDesc, rSettings.GetUILanguageTag().getLocale()));
pango_font_description_free(pFontDesc);
#else