ibus/ibus-HEAD.patch
Takao Fujiwara 9e7372461a Updated translations.
Fixed radio button on PropertyPanel.
2016-09-09 19:14:36 +09:00

114 lines
4.0 KiB
Diff

From 997e5cb1b100c6af267b8121445db1db7e580d5f Mon Sep 17 00:00:00 2001
From: "Eric R. Schulz" <eric@ers35.com>
Date: Thu, 18 Aug 2016 11:17:11 +0900
Subject: [PATCH 1/3] Fix GVariant leaks
The expectation is that g_dbus_message_set_body() takes ownership of the
GVariant, but this does not happen if the BusInputContext connection is NULL.
Call g_variant_unref() in that case to free the memory. Alternatively, a
GVariantBuilder could be used.
BUG=https://github.com/ibus/ibus/pull/1872
R=Shawn.P.Huang@gmail.com
Review URL: https://codereview.appspot.com/307050043
Patch from Eric R. Schulz <eric@ers35.com>.
---
bus/inputcontext.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/bus/inputcontext.c b/bus/inputcontext.c
index 6c82e20..0612fac 100644
--- a/bus/inputcontext.c
+++ b/bus/inputcontext.c
@@ -673,8 +673,10 @@ bus_input_context_send_signal (BusInputContext *context,
GVariant *parameters,
GError **error)
{
- if (context->connection == NULL)
+ if (context->connection == NULL) {
+ g_variant_unref (parameters);
return TRUE;
+ }
GDBusMessage *message = g_dbus_message_new_signal (ibus_service_get_object_path ((IBusService *)context),
interface_name,
@@ -704,8 +706,10 @@ bus_input_context_emit_signal (BusInputContext *context,
GVariant *parameters,
GError **error)
{
- if (context->connection == NULL)
+ if (context->connection == NULL) {
+ g_variant_unref (parameters);
return TRUE;
+ }
return bus_input_context_send_signal (context,
"org.freedesktop.IBus.InputContext",
--
2.7.4
From ceb6a9b47deaa898d8151606831669a7446ad382 Mon Sep 17 00:00:00 2001
From: fujiwarat <takao.fujiwara1@gmail.com>
Date: Tue, 6 Sep 2016 13:05:35 +0900
Subject: [PATCH 2/3] ui/gtk3: Fix radio buttons on Property Panel
Use gtk_container_remove() instead g_object_unref() because
if an widget has a parent, it's not destroyed and the signal is not
sent to the parent since the parent was destroyed.
R=shawn.p.huang@gmail.com
Review URL: https://codereview.appspot.com/302650043
---
ui/gtk3/propertypanel.vala | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/ui/gtk3/propertypanel.vala b/ui/gtk3/propertypanel.vala
index 6d5fd81..ea960b8 100644
--- a/ui/gtk3/propertypanel.vala
+++ b/ui/gtk3/propertypanel.vala
@@ -2,9 +2,9 @@
*
* ibus - The Input Bus
*
- * Copyright(c) 2013-2015 Red Hat, Inc.
+ * Copyright(c) 2013-2016 Red Hat, Inc.
* Copyright(c) 2013-2015 Peng Huang <shawn.p.huang@gmail.com>
- * Copyright(c) 2013-2015 Takao Fujiwara <takao.fujiwara1@gmail.com>
+ * Copyright(c) 2013-2016 Takao Fujiwara <takao.fujiwara1@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -85,7 +85,7 @@ public class PropertyPanel : Gtk.Box {
debug("set_properties()\n");
foreach (var item in m_items)
- (item as Gtk.Widget).destroy();
+ remove((item as Gtk.Widget));
m_items = {};
m_props = props;
@@ -481,6 +481,8 @@ public class PropMenu : Gtk.Menu, IPropToolItem {
public override void destroy() {
m_parent_button = null;
+ foreach (var item in m_items)
+ remove((item as Gtk.Widget));
m_items = {};
base.destroy();
}
@@ -739,7 +741,7 @@ public class PropMenuToolButton : PropToggleToolButton, IPropToolItem {
m_menu = new PropMenu(prop);
m_menu.deactivate.connect((m) =>
set_active(false));
- m_menu.property_activate.connect((w, k, s) =>
+ m_menu.property_activate.connect((k, s) =>
property_activate(k, s));
base.set_property(prop);
--
2.7.4