diff --git a/SOURCES/imsettings-1.6.3-translations-update.patch b/SOURCES/imsettings-1.6.3-translations-update.patch new file mode 100644 index 0000000..1f47f79 --- /dev/null +++ b/SOURCES/imsettings-1.6.3-translations-update.patch @@ -0,0 +1,544 @@ +--- a/imsettings-1.6.3/po/bn_IN.po 2013-12-14 09:04:46.433481559 +0530 ++++ a/imsettings-1.6.3/po/bn_IN.po 2013-12-14 09:06:00.770021178 +0530 +@@ -1,27 +1,27 @@ + # SOME DESCRIPTIVE TITLE. + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Runa Bhattacharjee , 2008. + # Akira , 2011. + # Runa Bhattacharjee , 2007. + # Runa Bhattacharjee , 2006, 2009. +-# Runa Bhattacharjee , 2012. #zanata ++# sray , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: imsettings\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2013-05-27 12:40+0900\n" +-"PO-Revision-Date: 2012-11-20 06:24-0500\n" +-"Last-Translator: Runa Bhattacharjee \n" ++"PO-Revision-Date: 2013-10-03 02:58-0400\n" ++"Last-Translator: sray \n" + "Language-Team: Bengali (India) (http://www.transifex.net/projects/p/" + "imsettings/team/bn_IN/)\n" +-"Language: bn-IN\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"Language: bn-IN\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" +-"X-Generator: Zanata 2.2.2\n" ++"X-Generator: Zanata 3.1.2\n" + + #: ../backends/xim/loopback.c:223 + msgid "Synchronous" +@@ -49,7 +49,9 @@ + + #: ../backends/xim/main.c:157 + msgid "Replace the running XIM server with new instance." +-msgstr "চলমান XIM সার্ভারের পুরোনো ইনস্ট্যান্স বন্ধ করে নতুন ইনস্ট্যান্স স্থাপন করুন।" ++msgstr "" ++"চলমান XIM সার্ভারের পুরোনো ইনস্ট্যান্স বন্ধ করে নতুন ইনস্ট্যান্স স্থাপন " ++"করুন।" + + #: ../backends/xim/main.c:158 + msgid "Output the debugging logs" +@@ -63,9 +65,12 @@ + msgid "XIM" + msgstr "XIM" + +-#: ../backends/xim/main.c:187 ../imsettings-daemon/main.c:141 +-#: ../utils/imsettings-check.c:315 ../utils/imsettings-info.c:70 +-#: ../utils/imsettings-reload.c:65 ../utils/imsettings-switch.c:82 ++#: ../backends/xim/main.c:187 ++#: ../imsettings-daemon/main.c:141 ++#: ../utils/imsettings-check.c:315 ++#: ../utils/imsettings-info.c:70 ++#: ../utils/imsettings-reload.c:65 ++#: ../utils/imsettings-switch.c:82 + msgid "Unknown error in parsing the command lines." + msgstr "কমান্ড লাইন পার্স করতে অজানা সমস্যা।" + +@@ -110,9 +115,11 @@ + msgid "" + "Giving up to bring the process up because %s Input Method process for %s " + "rapidly died many times. See $XDG_CACHE_HOME/imsettings/log for more details." ++"" + msgstr "" +-"প্রসেস পুনরায় আরম্ভের প্রচেষ্টা বন্ধ করা হচ্ছপ কারণ %s ইনপুট পদ্ধতিটি %s-র জন্য অতি " +-"দ্রুত কয়েকবার বন্ধ হয়েছে। অধিক বিবরণের জন্য $XDG_CACHE_HOME/imsettings/log দেখুন।" ++"প্রসেস পুনরায় আরম্ভের প্রচেষ্টা বন্ধ করা হচ্ছপ কারণ %s ইনপুট পদ্ধতিটি %s-র " ++"জন্য অতি দ্রুত কয়েকবার বন্ধ হয়েছে। অধিক বিবরণের জন্য $XDG_CACHE_HOME/" ++"imsettings/log দেখুন।" + + #: ../imsettings-daemon/imsettings-proc.c:304 + #, c-format +@@ -187,7 +194,7 @@ + #: ../imsettings-daemon/imsettings-server.c:748 + #, c-format + msgid "Current desktop isn't targeted by IMSettings." +-msgstr "" ++msgstr "বর্তমান ডেস্কটপ IMSettings নির্দিষ্ট নয়।" + + #: ../imsettings-daemon/imsettings-server.c:800 + #, c-format +@@ -230,10 +237,13 @@ + + #: ../imsettings-daemon/main.c:112 + msgid "Set the system-wide xinputrc directory (for debugging purpose)" +-msgstr "সিস্টেম-ব্যাপী xinputrc ডিরেক্টরি নির্ধারণ করুন (ডিবাগ করার উদ্দেশ্যে)" ++msgstr "" ++"সিস্টেম-ব্যাপী xinputrc ডিরেক্টরি নির্ধারণ করুন (ডিবাগ করার উদ্দেশ্যে)" + +-#: ../imsettings-daemon/main.c:112 ../imsettings-daemon/main.c:113 +-#: ../imsettings-daemon/main.c:114 ../imsettings-daemon/main.c:115 ++#: ../imsettings-daemon/main.c:112 ++#: ../imsettings-daemon/main.c:113 ++#: ../imsettings-daemon/main.c:114 ++#: ../imsettings-daemon/main.c:115 + msgid "DIR" + msgstr "DIR" + +@@ -261,15 +271,18 @@ + msgid "XSETTINGS manager isn't running" + msgstr "XSETTINGS manager বর্তমানে চলছে না" + +-#: ../utils/imsettings-check.c:169 ../utils/imsettings-check.c:222 ++#: ../utils/imsettings-check.c:169 ++#: ../utils/imsettings-check.c:222 + msgid "Unable to create a client instance." + msgstr "ক্লায়েন্ট ইনস্ট্যান্স তৈরি করতে ব্যর্থ।" + +-#: ../utils/imsettings-check.c:177 ../utils/imsettings-check.c:230 ++#: ../utils/imsettings-check.c:177 ++#: ../utils/imsettings-check.c:230 + msgid "imsettings version mismatch" + msgstr "imsettings সংস্করণে গরমিল" + +-#: ../utils/imsettings-check.c:190 ../utils/imsettings-check.c:256 ++#: ../utils/imsettings-check.c:190 ++#: ../utils/imsettings-check.c:256 + msgid "No modules loaded" + msgstr "কোনো মডিউল লোড করা হয়নি" + +@@ -303,31 +316,39 @@ + msgid "Check if XSETTINGS manager is running" + msgstr "XSETTINGS manager চলছে কি না যাচাই করুন" + +-#: ../utils/imsettings-info.c:51 ../utils/imsettings-switch.c:44 ++#: ../utils/imsettings-info.c:51 ++#: ../utils/imsettings-switch.c:44 + msgid "[Input Method name|xinput.conf]" + msgstr "[Input Method name|xinput.conf]" + +-#: ../utils/imsettings-info.c:76 ../utils/imsettings-list.c:64 +-#: ../utils/imsettings-reload.c:72 ../utils/imsettings-switch.c:88 ++#: ../utils/imsettings-info.c:76 ++#: ../utils/imsettings-list.c:64 ++#: ../utils/imsettings-reload.c:72 ++#: ../utils/imsettings-switch.c:88 + #, c-format + msgid "IMSettings is disabled on the system.\n" + msgstr "এই সিস্টেমের মধ্যে IMSettings নিষ্ক্রিয় করা হয়েছে।\n" + +-#: ../utils/imsettings-info.c:82 ../utils/imsettings-list.c:70 +-#: ../utils/imsettings-reload.c:78 ../utils/imsettings-switch.c:94 ++#: ../utils/imsettings-info.c:82 ++#: ../utils/imsettings-list.c:70 ++#: ../utils/imsettings-reload.c:78 ++#: ../utils/imsettings-switch.c:94 + #, c-format + msgid "Unable to create a client instance.\n" + msgstr "ক্লায়েন্ট ইনস্ট্যান্স তৈরি করতে ব্যর্থ।\n" + +-#: ../utils/imsettings-info.c:89 ../utils/imsettings-list.c:77 ++#: ../utils/imsettings-info.c:89 ++#: ../utils/imsettings-list.c:77 + #: ../utils/imsettings-switch.c:101 + #, c-format + msgid "" + "Currently a different version of imsettings is running.\n" +-"Running \"imsettings-reload\" may help but it will restart the Input Method\n" ++"Running \"imsettings-reload\" may help but it will restart the Input " ++"Method\n" + msgstr "" + "বর্তমানে imsettings-র একটি ভিন্ন সংস্করণ চলছে।\n" +-"\"imsettings-reload\"-র সঞ্চালনা সহায়ক হলেও এটি ইনপুট পদ্ধতি পুনরারম্ভ করবে\n" ++"\"imsettings-reload\"-র সঞ্চালনা সহায়ক হলেও এটি ইনপুট পদ্ধতি পুনরারম্ভ " ++"করবে\n" + + #: ../utils/imsettings-info.c:107 + #, c-format +@@ -378,7 +399,7 @@ + + #: ../utils/imsettings-switch.c:110 + msgid "No backend modules available" +-msgstr "" ++msgstr "কোনো ব্যাক-এন্ড মডিউল উপলব্ধ নেই" + + #: ../utils/imsettings-switch.c:127 + #, c-format +@@ -393,4 +414,4 @@ + #: ../utils/imsettings-switch.c:182 + #, c-format + msgid "Switched input method to %s\n" +-msgstr "" ++msgstr "ইনপুট পদ্ধতি %s এ পাল্টানো হয়েছে\n" +--- a/imsettings-1.6.3/po/pa.po 2013-12-14 09:04:46.432481551 +0530 ++++ a/imsettings-1.6.3/po/pa.po 2013-12-14 09:06:00.771021185 +0530 +@@ -1,27 +1,27 @@ + # SOME DESCRIPTIVE TITLE. + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # A S Alam , 2007. + # Jaswinder Singh , 2006, 2008, 2009. + # Akira , 2011. + # A S Alam , 2011. +-# jassy , 2012. #zanata ++# asaini , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: imsettings\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2013-05-27 12:40+0900\n" +-"PO-Revision-Date: 2012-08-30 06:57-0400\n" +-"Last-Translator: jassy \n" ++"PO-Revision-Date: 2013-10-08 08:05-0400\n" ++"Last-Translator: asaini \n" + "Language-Team: Panjabi (Punjabi) (http://www.transifex.net/projects/p/" + "imsettings/team/pa/)\n" +-"Language: pa\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"Language: pa\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" +-"X-Generator: Zanata 2.2.2\n" ++"X-Generator: Zanata 3.1.2\n" + + #: ../backends/xim/loopback.c:223 + msgid "Synchronous" +@@ -63,9 +63,12 @@ + msgid "XIM" + msgstr "XIM" + +-#: ../backends/xim/main.c:187 ../imsettings-daemon/main.c:141 +-#: ../utils/imsettings-check.c:315 ../utils/imsettings-info.c:70 +-#: ../utils/imsettings-reload.c:65 ../utils/imsettings-switch.c:82 ++#: ../backends/xim/main.c:187 ++#: ../imsettings-daemon/main.c:141 ++#: ../utils/imsettings-check.c:315 ++#: ../utils/imsettings-info.c:70 ++#: ../utils/imsettings-reload.c:65 ++#: ../utils/imsettings-switch.c:82 + msgid "Unknown error in parsing the command lines." + msgstr "ਕਮਾਂਡ ਲਾਈਵ ਪਾਰਸ ਕਰਨ ਵੇਲੇ ਅਣਜਾਣੀ ਗਲਤੀ।" + +@@ -110,9 +113,10 @@ + msgid "" + "Giving up to bring the process up because %s Input Method process for %s " + "rapidly died many times. See $XDG_CACHE_HOME/imsettings/log for more details." ++"" + msgstr "" +-"ਕਾਰਜ ਨੂੰ ਚਾਲੂ ਕਰ ਰਿਹਾ ਹੈ ਕਿਉਂਕਿ %s ਇੰਪੁੱਟ ਢੰਗ ਕਾਰਜ %s ਲਈ ਲਗਾਤਾਰ ਬਹੁਤ ਵਾਰ ਬੰਦ ਹੋ ਰਿਹਾ ਹੈ। " +-"ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ $XDG_CACHE_HOME/imsettings/log ਵੇਖੋ।" ++"ਕਾਰਜ ਨੂੰ ਚਾਲੂ ਕਰ ਰਿਹਾ ਹੈ ਕਿਉਂਕਿ %s ਇੰਪੁੱਟ ਢੰਗ ਕਾਰਜ %s ਲਈ ਲਗਾਤਾਰ ਬਹੁਤ ਵਾਰ ਬੰਦ " ++"ਹੋ ਰਿਹਾ ਹੈ। ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ $XDG_CACHE_HOME/imsettings/log ਵੇਖੋ।" + + #: ../imsettings-daemon/imsettings-proc.c:304 + #, c-format +@@ -187,7 +191,7 @@ + #: ../imsettings-daemon/imsettings-server.c:748 + #, c-format + msgid "Current desktop isn't targeted by IMSettings." +-msgstr "" ++msgstr "ਮੌਜੂਦਾ ਡੈਸਕਟਾਪ IMSettings ਵਲੋਂ ਨਿਸ਼ਾਨਾ ਨਹੀਂ ਬਣਾਇਆ ਗਿਆ।" + + #: ../imsettings-daemon/imsettings-server.c:800 + #, c-format +@@ -232,8 +236,10 @@ + msgid "Set the system-wide xinputrc directory (for debugging purpose)" + msgstr "ਸਿਸਟਮ-ਅਧਾਰਿਤ xinputrc ਡਾਇਰੈਕਟਰੀ ਸੈੰਟ ਕਰੋ (ਡੀਬੱਗਿੰਗ ਉਦੇਸ਼ ਲਈ)" + +-#: ../imsettings-daemon/main.c:112 ../imsettings-daemon/main.c:113 +-#: ../imsettings-daemon/main.c:114 ../imsettings-daemon/main.c:115 ++#: ../imsettings-daemon/main.c:112 ++#: ../imsettings-daemon/main.c:113 ++#: ../imsettings-daemon/main.c:114 ++#: ../imsettings-daemon/main.c:115 + msgid "DIR" + msgstr "DIR" + +@@ -261,15 +267,18 @@ + msgid "XSETTINGS manager isn't running" + msgstr "XSETTINGS ਮੈਨੇਜਰ ਨਹੀਂ ਚੱਲ ਰਿਹਾ ਹੈ" + +-#: ../utils/imsettings-check.c:169 ../utils/imsettings-check.c:222 ++#: ../utils/imsettings-check.c:169 ++#: ../utils/imsettings-check.c:222 + msgid "Unable to create a client instance." + msgstr "ਇੱਕ ਕਲਾਂਈਟ ਉਦਾਹਰਨ ਬਣਾਉਣ ਤੋਂ ਅਸਮਰਥ।" + +-#: ../utils/imsettings-check.c:177 ../utils/imsettings-check.c:230 ++#: ../utils/imsettings-check.c:177 ++#: ../utils/imsettings-check.c:230 + msgid "imsettings version mismatch" + msgstr "imsettings ਵਰਜਨ ਰਲਦਾ ਨਹੀਂ" + +-#: ../utils/imsettings-check.c:190 ../utils/imsettings-check.c:256 ++#: ../utils/imsettings-check.c:190 ++#: ../utils/imsettings-check.c:256 + msgid "No modules loaded" + msgstr "ਕੋਈ ਮੋਡੀਊਲ ਲੋਡ ਨਹੀਂ ਕੀਤਾ" + +@@ -303,31 +312,38 @@ + msgid "Check if XSETTINGS manager is running" + msgstr "ਵੇਖੋ ਕਿ XSETTINGS ਮੈਨੇਜਰ ਚੱਲ ਰਿਹਾ ਹੈ" + +-#: ../utils/imsettings-info.c:51 ../utils/imsettings-switch.c:44 ++#: ../utils/imsettings-info.c:51 ++#: ../utils/imsettings-switch.c:44 + msgid "[Input Method name|xinput.conf]" + msgstr "[Input Method name|xinput.conf]" + +-#: ../utils/imsettings-info.c:76 ../utils/imsettings-list.c:64 +-#: ../utils/imsettings-reload.c:72 ../utils/imsettings-switch.c:88 ++#: ../utils/imsettings-info.c:76 ++#: ../utils/imsettings-list.c:64 ++#: ../utils/imsettings-reload.c:72 ++#: ../utils/imsettings-switch.c:88 + #, c-format + msgid "IMSettings is disabled on the system.\n" + msgstr "IMSettings ਸਿਸਟਮ ਉੱਪਰ ਅਯੋਗ ਕੀਤੀ ਹੈ।\n" + +-#: ../utils/imsettings-info.c:82 ../utils/imsettings-list.c:70 +-#: ../utils/imsettings-reload.c:78 ../utils/imsettings-switch.c:94 ++#: ../utils/imsettings-info.c:82 ++#: ../utils/imsettings-list.c:70 ++#: ../utils/imsettings-reload.c:78 ++#: ../utils/imsettings-switch.c:94 + #, c-format + msgid "Unable to create a client instance.\n" + msgstr "ਇੱਕ ਕਲਾਂਈਟ ਉਦਾਹਰਨ ਬਣਾਉਣ ਤੋਂ ਅਸਮਰਥ।\n" + +-#: ../utils/imsettings-info.c:89 ../utils/imsettings-list.c:77 ++#: ../utils/imsettings-info.c:89 ++#: ../utils/imsettings-list.c:77 + #: ../utils/imsettings-switch.c:101 + #, c-format + msgid "" + "Currently a different version of imsettings is running.\n" +-"Running \"imsettings-reload\" may help but it will restart the Input Method\n" ++"Running \"imsettings-reload\" may help but it will restart the Input " ++"Method\n" + msgstr "" +-"ਹੁਣ ਇੱਕ ਵੱਖਰਾ imsettings ਵਰਜਨ ਚੱਲ ਰਿਹਾ ਹੈ। \"imsettings-reload\" ਚਲਾਉਣ ਨਾਲ ਮੱਦਦ ਹੋ " +-"ਸਕਦੀ ਹੈ ਪਰ ਇਹ ਇੰਪੁੱਟ ਢੰਗ ਨੂੰ ਮੁੜ-ਚਾਲੂ ਕਰੇਗਾ\n" ++"ਹੁਣ ਇੱਕ ਵੱਖਰਾ imsettings ਵਰਜਨ ਚੱਲ ਰਿਹਾ ਹੈ। \"imsettings-reload\" ਚਲਾਉਣ ਨਾਲ " ++"ਮੱਦਦ ਹੋ ਸਕਦੀ ਹੈ ਪਰ ਇਹ ਇੰਪੁੱਟ ਢੰਗ ਨੂੰ ਮੁੜ-ਚਾਲੂ ਕਰੇਗਾ\n" + + #: ../utils/imsettings-info.c:107 + #, c-format +@@ -378,7 +394,7 @@ + + #: ../utils/imsettings-switch.c:110 + msgid "No backend modules available" +-msgstr "" ++msgstr "ਕੋਈ ਬੈਕ-ਐਂਡ ਮੌਡਿਊਲ ਉਪਲੱਬਧ ਨਹੀਂ" + + #: ../utils/imsettings-switch.c:127 + #, c-format +@@ -393,4 +409,4 @@ + #: ../utils/imsettings-switch.c:182 + #, c-format + msgid "Switched input method to %s\n" +-msgstr "" ++msgstr "ਇੰਨਪੁੱਟ ਢੰਗ ਨੂੰ %s ਵਿੱਚ ਬਦਲਿਆ\n" +--- a/imsettings-1.6.3/po/pt_BR.po 2013-12-14 09:04:46.435481573 +0530 ++++ a/imsettings-1.6.3/po/pt_BR.po 2013-12-14 09:06:00.771021185 +0530 +@@ -1,28 +1,27 @@ + # SOME DESCRIPTIVE TITLE. + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. +-# ++# + # Frederico Madeira , 2008. + # Glaucia Cintra , 2008. + # Igor Pires Soares , 2007, 2008, 2009. + # Akira , 2011. + # Vitor Vilas Boas , 2009. +-# gcintra , 2012. #zanata +-# gcintra , 2013. #zanata ++# gcintra , 2013. #zanata + msgid "" + msgstr "" + "Project-Id-Version: imsettings\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2013-05-27 12:40+0900\n" +-"PO-Revision-Date: 2013-04-03 12:55-0400\n" +-"Last-Translator: gcintra \n" ++"PO-Revision-Date: 2013-09-30 08:29-0400\n" ++"Last-Translator: gcintra \n" + "Language-Team: LANGUAGE \n" +-"Language: pt-BR\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"Language: pt-BR\n" + "Plural-Forms: nplurals=2; plural=(n > 1)\n" +-"X-Generator: Zanata 2.2.2\n" ++"X-Generator: Zanata 3.1.2\n" + + #: ../backends/xim/loopback.c:223 + msgid "Synchronous" +@@ -58,15 +57,19 @@ + + #: ../backends/xim/main.c:159 + msgid "XIM server connects to, for debugging purpose only" +-msgstr "A quem o servidor XIM conecta-se, somente para propósitos de depuração" ++msgstr "" ++"A quem o servidor XIM conecta-se, somente para propósitos de depuração" + + #: ../backends/xim/main.c:159 + msgid "XIM" + msgstr "XIM" + +-#: ../backends/xim/main.c:187 ../imsettings-daemon/main.c:141 +-#: ../utils/imsettings-check.c:315 ../utils/imsettings-info.c:70 +-#: ../utils/imsettings-reload.c:65 ../utils/imsettings-switch.c:82 ++#: ../backends/xim/main.c:187 ++#: ../imsettings-daemon/main.c:141 ++#: ../utils/imsettings-check.c:315 ++#: ../utils/imsettings-info.c:70 ++#: ../utils/imsettings-reload.c:65 ++#: ../utils/imsettings-switch.c:82 + msgid "Unknown error in parsing the command lines." + msgstr "Erro desconhecido ao analisar as linhas de comando." + +@@ -111,6 +114,7 @@ + msgid "" + "Giving up to bring the process up because %s Input Method process for %s " + "rapidly died many times. See $XDG_CACHE_HOME/imsettings/log for more details." ++"" + msgstr "" + "Desistindo de ativar o processo porque o processo do método de entrada %s " + "para o %s caiu rapidamente várias vezes. Veja o $XDG_CACHE_HOME/imsettings/" +@@ -148,7 +152,8 @@ + + #: ../imsettings-daemon/imsettings-server.c:424 + msgid "A boolean value whether the logging facility is enabled or not." +-msgstr "Um valor booleano estando o recurso de autenticação habilitado ou não." ++msgstr "" ++"Um valor booleano estando o recurso de autenticação habilitado ou não." + + #: ../imsettings-daemon/imsettings-server.c:429 + #: ../imsettings-daemon/imsettings-server.c:430 +@@ -189,7 +194,7 @@ + #: ../imsettings-daemon/imsettings-server.c:748 + #, c-format + msgid "Current desktop isn't targeted by IMSettings." +-msgstr "" ++msgstr "Desktop atual não é alvo do IMSettings." + + #: ../imsettings-daemon/imsettings-server.c:800 + #, c-format +@@ -234,14 +239,17 @@ + msgid "Set the system-wide xinputrc directory (for debugging purpose)" + msgstr "Defina o diretório system-wide xinputrc (para propósito de depuração)" + +-#: ../imsettings-daemon/main.c:112 ../imsettings-daemon/main.c:113 +-#: ../imsettings-daemon/main.c:114 ../imsettings-daemon/main.c:115 ++#: ../imsettings-daemon/main.c:112 ++#: ../imsettings-daemon/main.c:113 ++#: ../imsettings-daemon/main.c:114 ++#: ../imsettings-daemon/main.c:115 + msgid "DIR" + msgstr "DIR" + + #: ../imsettings-daemon/main.c:113 + msgid "Set the IM configuration directory (for debugging purpose)" +-msgstr "Defina o diretório de configuração do IM (para propósito de depuração)" ++msgstr "" ++"Defina o diretório de configuração do IM (para propósito de depuração)" + + #: ../imsettings-daemon/main.c:114 + msgid "Set a home directory (for debugging purpose)" +@@ -263,15 +271,18 @@ + msgid "XSETTINGS manager isn't running" + msgstr "O gerenciador XSETTINGS não está sendo executado" + +-#: ../utils/imsettings-check.c:169 ../utils/imsettings-check.c:222 ++#: ../utils/imsettings-check.c:169 ++#: ../utils/imsettings-check.c:222 + msgid "Unable to create a client instance." + msgstr "Incapaz de criar uma instância de cliente" + +-#: ../utils/imsettings-check.c:177 ../utils/imsettings-check.c:230 ++#: ../utils/imsettings-check.c:177 ++#: ../utils/imsettings-check.c:230 + msgid "imsettings version mismatch" + msgstr "Versão imsettings mismatch" + +-#: ../utils/imsettings-check.c:190 ../utils/imsettings-check.c:256 ++#: ../utils/imsettings-check.c:190 ++#: ../utils/imsettings-check.c:256 + msgid "No modules loaded" + msgstr "Nenhum módulo carregado" + +@@ -305,28 +316,35 @@ + msgid "Check if XSETTINGS manager is running" + msgstr "Verifique se o gerenciador do XSETTINGS está sendo executado" + +-#: ../utils/imsettings-info.c:51 ../utils/imsettings-switch.c:44 ++#: ../utils/imsettings-info.c:51 ++#: ../utils/imsettings-switch.c:44 + msgid "[Input Method name|xinput.conf]" + msgstr "[Input Method name|xinput.conf]" + +-#: ../utils/imsettings-info.c:76 ../utils/imsettings-list.c:64 +-#: ../utils/imsettings-reload.c:72 ../utils/imsettings-switch.c:88 ++#: ../utils/imsettings-info.c:76 ++#: ../utils/imsettings-list.c:64 ++#: ../utils/imsettings-reload.c:72 ++#: ../utils/imsettings-switch.c:88 + #, c-format + msgid "IMSettings is disabled on the system.\n" + msgstr "IMSettings está desativado no sistema.\n" + +-#: ../utils/imsettings-info.c:82 ../utils/imsettings-list.c:70 +-#: ../utils/imsettings-reload.c:78 ../utils/imsettings-switch.c:94 ++#: ../utils/imsettings-info.c:82 ++#: ../utils/imsettings-list.c:70 ++#: ../utils/imsettings-reload.c:78 ++#: ../utils/imsettings-switch.c:94 + #, c-format + msgid "Unable to create a client instance.\n" + msgstr "Incapaz de criar uma instância de cliente.\n" + +-#: ../utils/imsettings-info.c:89 ../utils/imsettings-list.c:77 ++#: ../utils/imsettings-info.c:89 ++#: ../utils/imsettings-list.c:77 + #: ../utils/imsettings-switch.c:101 + #, c-format + msgid "" + "Currently a different version of imsettings is running.\n" +-"Running \"imsettings-reload\" may help but it will restart the Input Method\n" ++"Running \"imsettings-reload\" may help but it will restart the Input " ++"Method\n" + msgstr "" + "Atualmente uma versão diferente do imsettings está sendo executada. \n" + "Executar o \"imsettings-reload\" pode ajudar mas irá reiniciar o Método de " +@@ -391,8 +409,7 @@ + #: ../utils/imsettings-switch.c:140 + #, c-format + msgid "Restarted %s\n" +-msgstr "" +-"Reiniciado%s\n" ++msgstr "Reiniciado%s\n" + "\n" + + #: ../utils/imsettings-switch.c:182 diff --git a/SOURCES/imsettings-fix-memleak-and-crash.patch b/SOURCES/imsettings-fix-memleak-and-crash.patch new file mode 100644 index 0000000..c6c7d10 --- /dev/null +++ b/SOURCES/imsettings-fix-memleak-and-crash.patch @@ -0,0 +1,524 @@ +From e1d1ef02dbaf24261f06d095b08290f1a1ad36ae Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Tue, 15 Oct 2013 13:03:50 +0900 +Subject: [PATCH 1/3] Fix for -Wformat + +--- + imsettings-daemon/imsettings-server.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/imsettings-daemon/imsettings-server.c b/imsettings-daemon/imsettings-server.c +index 79aa308..c229dd0 100644 +--- a/imsettings-daemon/imsettings-server.c ++++ b/imsettings-daemon/imsettings-server.c +@@ -119,7 +119,7 @@ _notify_cb(IMSettingsProc *proc, + notify_notification_show(priv->notify, &err); + + if (err) { +- g_warning(err->message); ++ g_warning("%s", err->message); + g_error_free(err); + } + } +@@ -712,7 +712,7 @@ imsettings_server_cb_switch_im(IMSettingsServer *server, + g_clear_error(error); + g_set_error(error, IMSETTINGS_GERROR, IMSETTINGS_GERROR_IM_NOT_FOUND, + _("No such input method on your system: %s"), module); +- g_warning((*error)->message); ++ g_warning("%s", (*error)->message); + + return FALSE; + } +@@ -721,7 +721,7 @@ imsettings_server_cb_switch_im(IMSettingsServer *server, + if (!*info) { + g_set_error(error, IMSETTINGS_GERROR, IMSETTINGS_GERROR_OOM, + _("Out of memory")); +- g_warning((*error)->message); ++ g_warning("%s", (*error)->message); + + return FALSE; + } +@@ -746,7 +746,7 @@ imsettings_server_cb_switch_im(IMSettingsServer *server, + } else if (match) { + g_set_error(error, IMSETTINGS_GERROR, IMSETTINGS_GERROR_NOT_TARGETED_DESKTOP, + _("Current desktop isn't targeted by IMSettings.")); +- g_warning((*error)->message); ++ g_warning("%s", (*error)->message); + + return FALSE; + } +@@ -1222,6 +1222,7 @@ imsettings_server_bus_method_call(GDBusConnection *connection, + g_dbus_method_invocation_return_error(invocation, + IMSETTINGS_GERROR, + err->code, ++ "%s", + err->message); + g_error_free(err); + } else { +-- +1.8.3.1 + +From 5833b104e6a4be022c41eb111bb1e3b61b0d2322 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Wed, 16 Oct 2013 11:44:25 +0900 +Subject: [PATCH 2/3] Fix memory leaks + +--- + imsettings-daemon/imsettings-server.c | 5 ++ + imsettings/imsettings-info.c | 127 +++++++++++++++++----------------- + utils/imsettings-list.c | 1 + + 3 files changed, 70 insertions(+), 63 deletions(-) + +diff --git a/imsettings-daemon/imsettings-server.c b/imsettings-daemon/imsettings-server.c +index c229dd0..1c52782 100644 +--- a/imsettings-daemon/imsettings-server.c ++++ b/imsettings-daemon/imsettings-server.c +@@ -596,6 +596,8 @@ imsettings_server_cb_get_info_variants(IMSettingsServer *server, + n = imsettings_info_get_filename(info); + if (g_strcmp0(module, IMSETTINGS_USER_SPECIFIC_SHORT_DESC) == 0) { + g_variant_builder_add(vb, "{sv}", module, v); ++ } else { ++ g_variant_unref(v); + } + g_object_unref(info); + } +@@ -613,6 +615,8 @@ imsettings_server_cb_get_info_variants(IMSettingsServer *server, + n = imsettings_info_get_filename(info); + if (g_strcmp0(module, IMSETTINGS_USER_SPECIFIC_SHORT_DESC) == 0) { + g_variant_builder_add(vb, "{sv}", module, v); ++ } else { ++ g_variant_unref(v); + } + g_object_unref(info); + } +@@ -667,6 +671,7 @@ imsettings_server_cb_get_info_variant(IMSettingsServer *server, + break; + } + g_free(conf); ++ g_variant_unref(vv); + } + g_variant_unref(v); + } +diff --git a/imsettings/imsettings-info.c b/imsettings/imsettings-info.c +index 33f7d74..cbbefcb 100644 +--- a/imsettings/imsettings-info.c ++++ b/imsettings/imsettings-info.c +@@ -317,77 +317,77 @@ imsettings_info_variant_new(const gchar *filename, + + G_LOCK (info); + +- if ((fp = popen(cmd->str, "r")) != NULL) { +- vb = g_variant_builder_new(G_VARIANT_TYPE ("a{sv}")); +- +- while (!feof(fp)) { +- if ((p = fgets(buffer, 255, fp)) != NULL) { +- gchar *key = NULL, *val = NULL; +- GVariant *v = NULL; +- GQuark q; +- +- if (!_parse_param(p, &key, &val)) { +- g_warning("Failed to parse a line in %s: %s", +- filename, p); +- goto bail; +- } +- q = g_quark_try_string(key); +- if (q == 0) +- goto unknown_param; +- for (i = 0; i < LAST_IMSETTINGS_INFO; i++) { +- if (__xinput_tokens[i] == q) +- break; +- } +- switch (i) { +- case IMSETTINGS_INFO_GTK_IM_MODULE: +- case IMSETTINGS_INFO_QT_IM_MODULE: +- case IMSETTINGS_INFO_XIM: +- case IMSETTINGS_INFO_XIM_PROGRAM: +- case IMSETTINGS_INFO_XIM_ARGS: +- case IMSETTINGS_INFO_PREFERENCE_PROGRAM: +- case IMSETTINGS_INFO_PREFERENCE_ARGS: +- case IMSETTINGS_INFO_AUXILIARY_PROGRAM: +- case IMSETTINGS_INFO_AUXILIARY_ARGS: +- case IMSETTINGS_INFO_SHORT_DESC: +- case IMSETTINGS_INFO_LONG_DESC: +- case IMSETTINGS_INFO_ICON: +- case IMSETTINGS_INFO_LANG: +- case IMSETTINGS_INFO_FILENAME: +- case IMSETTINGS_INFO_NOT_RUN: +- v = g_variant_new_string(val); +- break; +- case IMSETTINGS_INFO_IMSETTINGS_IGNORE_ME: +- case IMSETTINGS_INFO_IMSETTINGS_IS_SCRIPT: +- case IMSETTINGS_INFO_IS_XIM: +- v = g_variant_new_boolean((g_ascii_strcasecmp(val, "true") == 0 || +- g_ascii_strcasecmp(val, "yes") == 0 || +- g_ascii_strcasecmp(val, "1") == 0)); +- break; +- default: +- unknown_param: +- g_warning("Unknown parameter: %s = %s", +- key, val); +- v = NULL; +- break; +- } +- if (v) +- g_variant_builder_add(vb, "{sv}", +- key, v); +- bail: +- g_free(key); +- g_free(val); ++ if ((fp = popen(cmd->str, "r")) == NULL) ++ goto error; ++ ++ vb = g_variant_builder_new(G_VARIANT_TYPE ("a{sv}")); ++ ++ while (!feof(fp)) { ++ if ((p = fgets(buffer, 255, fp)) != NULL) { ++ gchar *key = NULL, *val = NULL; ++ GVariant *v = NULL; ++ GQuark q; ++ ++ if (!_parse_param(p, &key, &val)) { ++ g_warning("Failed to parse a line in %s: %s", ++ filename, p); ++ goto bail; ++ } ++ q = g_quark_try_string(key); ++ if (q == 0) ++ goto unknown_param; ++ for (i = 0; i < LAST_IMSETTINGS_INFO; i++) { ++ if (__xinput_tokens[i] == q) ++ break; + } ++ switch (i) { ++ case IMSETTINGS_INFO_GTK_IM_MODULE: ++ case IMSETTINGS_INFO_QT_IM_MODULE: ++ case IMSETTINGS_INFO_XIM: ++ case IMSETTINGS_INFO_XIM_PROGRAM: ++ case IMSETTINGS_INFO_XIM_ARGS: ++ case IMSETTINGS_INFO_PREFERENCE_PROGRAM: ++ case IMSETTINGS_INFO_PREFERENCE_ARGS: ++ case IMSETTINGS_INFO_AUXILIARY_PROGRAM: ++ case IMSETTINGS_INFO_AUXILIARY_ARGS: ++ case IMSETTINGS_INFO_SHORT_DESC: ++ case IMSETTINGS_INFO_LONG_DESC: ++ case IMSETTINGS_INFO_ICON: ++ case IMSETTINGS_INFO_LANG: ++ case IMSETTINGS_INFO_FILENAME: ++ case IMSETTINGS_INFO_NOT_RUN: ++ v = g_variant_new_string(val); ++ break; ++ case IMSETTINGS_INFO_IMSETTINGS_IGNORE_ME: ++ case IMSETTINGS_INFO_IMSETTINGS_IS_SCRIPT: ++ case IMSETTINGS_INFO_IS_XIM: ++ v = g_variant_new_boolean((g_ascii_strcasecmp(val, "true") == 0 || ++ g_ascii_strcasecmp(val, "yes") == 0 || ++ g_ascii_strcasecmp(val, "1") == 0)); ++ break; ++ default: ++ unknown_param: ++ g_warning("Unknown parameter: %s = %s", ++ key, val); ++ v = NULL; ++ break; ++ } ++ if (v) ++ g_variant_builder_add(vb, "{sv}", ++ key, v); ++ bail: ++ g_free(key); ++ g_free(val); + } +- +- pclose(fp); + } ++ ++ pclose(fp); + value = g_variant_builder_end(vb); ++ g_variant_builder_unref(vb); + + G_UNLOCK (info); + + error: +- if (vb) +- g_variant_builder_unref(vb); + g_string_free(cmd, TRUE); + + return value; +@@ -461,6 +461,7 @@ imsettings_info_new(GVariant *parameters) + g_warning("Unknown parameter: %s", key); + break; + } ++ g_variant_unref(val); + } + g_variant_iter_free(iter); + } +diff --git a/utils/imsettings-list.c b/utils/imsettings-list.c +index 0504224..07bc085 100644 +--- a/utils/imsettings-list.c ++++ b/utils/imsettings-list.c +@@ -107,6 +107,7 @@ main(int argc, + strcmp(&key[len - slen], XINPUT_SUFFIX) == 0) + continue; + info = imsettings_info_new(vv); ++ g_variant_unref(vv); + name = imsettings_info_get_short_desc(info); + imname = imsettings_info_get_im_name(info); + subimname = imsettings_info_get_sub_im_name(info); +-- +1.8.3.1 + +From 6d2940d3b7744868b72e2b14cc8e1b70c77ce594 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Wed, 16 Oct 2013 13:24:59 +0900 +Subject: [PATCH 3/3] clean up + +--- + imsettings-daemon/imsettings-server.c | 106 ++++++++++++++++------------------ + 1 file changed, 49 insertions(+), 57 deletions(-) + +diff --git a/imsettings-daemon/imsettings-server.c b/imsettings-daemon/imsettings-server.c +index 1c52782..25f45a6 100644 +--- a/imsettings-daemon/imsettings-server.c ++++ b/imsettings-daemon/imsettings-server.c +@@ -541,6 +541,8 @@ imsettings_server_cb_get_info_variants(IMSettingsServer *server, + v = imsettings_info_variant_new(p, lang); + g_free(p); + g_free(conf); ++ if (!v) ++ goto next; + + info = imsettings_info_new(v); + if (imsettings_info_is_visible(info)) { +@@ -591,15 +593,17 @@ imsettings_server_cb_get_info_variants(IMSettingsServer *server, + if (g_file_test(p, G_FILE_TEST_EXISTS) && + !g_file_test(p, G_FILE_TEST_IS_SYMLINK)) { + v = imsettings_info_variant_new(p, lang); +- info = imsettings_info_new(v); +- module = imsettings_info_get_short_desc(info); +- n = imsettings_info_get_filename(info); +- if (g_strcmp0(module, IMSETTINGS_USER_SPECIFIC_SHORT_DESC) == 0) { +- g_variant_builder_add(vb, "{sv}", module, v); +- } else { +- g_variant_unref(v); ++ if (v) { ++ info = imsettings_info_new(v); ++ module = imsettings_info_get_short_desc(info); ++ n = imsettings_info_get_filename(info); ++ if (g_strcmp0(module, IMSETTINGS_USER_SPECIFIC_SHORT_DESC) == 0) { ++ g_variant_builder_add(vb, "{sv}", module, v); ++ } else { ++ g_variant_unref(v); ++ } ++ g_object_unref(info); + } +- g_object_unref(info); + } + g_free(p); + /* an exception to deal with the case switching back to the user specific. +@@ -610,15 +614,17 @@ imsettings_server_cb_get_info_variants(IMSettingsServer *server, + if (g_file_test(p, G_FILE_TEST_EXISTS) && + !g_file_test(p, G_FILE_TEST_IS_SYMLINK)) { + v = imsettings_info_variant_new(p, lang); +- info = imsettings_info_new(v); +- module = imsettings_info_get_short_desc(info); +- n = imsettings_info_get_filename(info); +- if (g_strcmp0(module, IMSETTINGS_USER_SPECIFIC_SHORT_DESC) == 0) { +- g_variant_builder_add(vb, "{sv}", module, v); +- } else { +- g_variant_unref(v); ++ if (v) { ++ info = imsettings_info_new(v); ++ module = imsettings_info_get_short_desc(info); ++ n = imsettings_info_get_filename(info); ++ if (g_strcmp0(module, IMSETTINGS_USER_SPECIFIC_SHORT_DESC) == 0) { ++ g_variant_builder_add(vb, "{sv}", module, v); ++ } else { ++ g_variant_unref(v); ++ } ++ g_object_unref(info); + } +- g_object_unref(info); + } + g_free(p); + +@@ -1034,43 +1040,36 @@ imsettings_server_bus_method_call(GDBusConnection *connection, + + if (g_strcmp0(method_name, "StopService") == 0) { + g_dbus_method_invocation_return_value(invocation, +- g_variant_new("(b)", TRUE)); ++ g_variant_new_boolean(TRUE)); + g_signal_emit(server, signals[SIG_DISCONNECTED], 0, NULL); + } else if (g_strcmp0(method_name, "GetVersion") == 0) { +- value = g_variant_new("(u)", +- IMSETTINGS_SETTINGS_API_VERSION); ++ value = g_variant_new_uint32(IMSETTINGS_SETTINGS_API_VERSION); + } else if (g_strcmp0(method_name, "GetInfoVariants") == 0) { + const gchar *lang; +- GVariant *v; + + g_variant_get(parameters, "(&s)", + &lang); + +- v = imsettings_server_cb_get_info_variants(server, lang, &err); +- if (!v) { ++ value = imsettings_server_cb_get_info_variants(server, lang, &err); ++ if (!value) { + g_set_error(&err, IMSETTINGS_GERROR, + IMSETTINGS_GERROR_IM_NOT_FOUND, + "No IMs available"); +- } else { +- value = g_variant_new_tuple(&v, 1); + } + } else if (g_strcmp0(method_name, "GetInfoVariant") == 0) { + const gchar *lang, *module; +- GVariant *v; + + g_variant_get(parameters, "(&s&s)", + &lang, &module); + +- v = imsettings_server_cb_get_info_variant(server, +- lang, +- module, +- &err); +- if (!v) { ++ value = imsettings_server_cb_get_info_variant(server, ++ lang, ++ module, ++ &err); ++ if (!value) { + g_set_error(&err, IMSETTINGS_GERROR, + IMSETTINGS_GERROR_IM_NOT_FOUND, + "No such input method: %s", module); +- } else { +- value = g_variant_new_tuple(&v, 1); + } + } else if (g_strcmp0(method_name, "GetSystemIM") == 0) { + const gchar *lang; +@@ -1079,7 +1078,7 @@ imsettings_server_bus_method_call(GDBusConnection *connection, + g_variant_get(parameters, "(&s)", &lang); + im = imsettings_server_cb_get_system_im(server, lang, &err); + if (im) { +- value = g_variant_new("(s)", im); ++ value = g_variant_new_string(im); + g_free(im); + } + } else if (g_strcmp0(method_name, "GetUserIM") == 0) { +@@ -1089,7 +1088,7 @@ imsettings_server_bus_method_call(GDBusConnection *connection, + g_variant_get(parameters, "(&s)", &lang); + im = imsettings_server_cb_get_user_im(server, lang, &err); + if (im) { +- value = g_variant_new("(s)", im); ++ value = g_variant_new_string(im); + g_free(im); + } + } else if (g_strcmp0(method_name, "IsSystemDefault") == 0) { +@@ -1099,8 +1098,7 @@ imsettings_server_bus_method_call(GDBusConnection *connection, + g_variant_get(parameters, "(&s&s)", &lang, &module); + im = imsettings_server_cb_get_system_im(server, lang, &err); + if (im) { +- value = g_variant_new("(b)", +- g_ascii_strcasecmp(im, module) == 0); ++ value = g_variant_new_boolean(g_ascii_strcasecmp(im, module) == 0); + g_free(im); + } + } else if (g_strcmp0(method_name, "IsUserDefault") == 0) { +@@ -1110,8 +1108,7 @@ imsettings_server_bus_method_call(GDBusConnection *connection, + g_variant_get(parameters, "(&s&s)", &lang, &module); + im = imsettings_server_cb_get_user_im(server, lang, &err); + if (im) { +- value = g_variant_new("(b)", +- g_ascii_strcasecmp(im, module) == 0); ++ value = g_variant_new_boolean(g_ascii_strcasecmp(im, module) == 0); + g_free(im); + } + } else if (g_strcmp0(method_name, "IsXIM") == 0) { +@@ -1138,8 +1135,7 @@ imsettings_server_bus_method_call(GDBusConnection *connection, + IMSETTINGS_GERROR_OOM, + _("Out of memory")); + } else { +- value = g_variant_new("(b)", +- imsettings_info_is_xim(info)); ++ value = g_variant_new_boolean(imsettings_info_is_xim(info)); + g_object_unref(info); + } + g_variant_unref(v); +@@ -1166,9 +1162,8 @@ imsettings_server_bus_method_call(GDBusConnection *connection, + if (info) + g_object_unref(info); + +- value = g_variant_new("(b)", ret); ++ value = g_variant_new_boolean(ret); + } else if (g_strcmp0(method_name, "GetActiveVariant") == 0) { +- GVariant *v = NULL; + gchar *f; + + if (!priv->current_im || +@@ -1176,19 +1171,17 @@ imsettings_server_bus_method_call(GDBusConnection *connection, + f = g_build_filename(imsettings_server_get_xinputdir(server), + IMSETTINGS_NONE_CONF XINPUT_SUFFIX, NULL); + if (g_file_test(f, G_FILE_TEST_EXISTS)) +- v = imsettings_info_variant_new(f, NULL); ++ value = imsettings_info_variant_new(f, NULL); + g_free(f); + } else { + IMSettingsInfo *info = imsettings_proc_info(priv->current_im); + +- v = imsettings_info_variant_new(imsettings_info_get_filename(info), +- imsettings_info_get_language(info)); ++ value = imsettings_info_variant_new(imsettings_info_get_filename(info), ++ imsettings_info_get_language(info)); + } +- if (!v) { ++ if (!value) { + g_set_error(&err, IMSETTINGS_GERROR, IMSETTINGS_GERROR_CONFIGURATION_ERROR, + "none.conf isn't installed."); +- } else { +- value = g_variant_new_tuple(&v, 1); + } + } else if (g_strcmp0(method_name, "LoadModule") == 0) { + const gchar *modname; +@@ -1197,7 +1190,7 @@ imsettings_server_bus_method_call(GDBusConnection *connection, + g_variant_get(parameters, "(&s)", &modname); + + ret = imsettings_server_cb_load_module(server, modname); +- value = g_variant_new("(b)", ret); ++ value = g_variant_new_boolean(ret); + } else if (g_strcmp0(method_name, "UnloadModule") == 0) { + const gchar *modname; + gboolean ret; +@@ -1205,17 +1198,13 @@ imsettings_server_bus_method_call(GDBusConnection *connection, + g_variant_get(parameters, "(&s)", &modname); + + ret = imsettings_server_cb_unload_module(server, modname); +- value = g_variant_new("(b)", ret); ++ value = g_variant_new_boolean(ret); + } else if (g_strcmp0(method_name, "DumpModuleSettings") == 0) { +- GVariant *v; +- +- v = imsettings_server_cb_get_module_settings(server, &err); +- if (!v) { ++ value = imsettings_server_cb_get_module_settings(server, &err); ++ if (!value) { + g_set_error(&err, IMSETTINGS_GERROR, + IMSETTINGS_GERROR_CONFIGURATION_ERROR, + "No modules loaded"); +- } else { +- value = g_variant_new_tuple(&v, 1); + } + } + finalize: +@@ -1232,7 +1221,10 @@ imsettings_server_bus_method_call(GDBusConnection *connection, + g_error_free(err); + } else { + if (value) { +- g_dbus_method_invocation_return_value(invocation, value); ++ GVariant *v; ++ ++ v = g_variant_new_tuple(&value, 1); ++ g_dbus_method_invocation_return_value(invocation, v); + } + } + } +-- +1.8.3.1 + diff --git a/SOURCES/imsettings-imsettings-reload-locale.patch b/SOURCES/imsettings-imsettings-reload-locale.patch new file mode 100644 index 0000000..b25ca27 --- /dev/null +++ b/SOURCES/imsettings-imsettings-reload-locale.patch @@ -0,0 +1,30 @@ +diff -pruN imsettings-1.6.3.orig/utils/imsettings-reload.c imsettings-1.6.3/utils/imsettings-reload.c +--- imsettings-1.6.3.orig/utils/imsettings-reload.c 2012-12-13 17:36:42.000000000 +0900 ++++ imsettings-1.6.3/utils/imsettings-reload.c 2014-01-22 18:12:09.000000000 +0900 +@@ -46,6 +46,7 @@ main(int argc, + }; + GError *error = NULL; + gint retval = 0, api_version; ++ gchar *locale; + + #ifdef ENABLE_NLS + bindtextdomain (GETTEXT_PACKAGE, IMSETTINGS_LOCALEDIR); +@@ -57,6 +58,9 @@ main(int argc, + + g_type_init(); + ++ setlocale(LC_ALL, ""); ++ locale = setlocale(LC_CTYPE, NULL); ++ + g_option_context_add_main_entries(ctx, entries, GETTEXT_PACKAGE); + if (!g_option_context_parse(ctx, &argc, &argv, &error)) { + if (error != NULL) { +@@ -73,7 +77,7 @@ main(int argc, + retval = 1; + goto end; + } +- client = imsettings_client_new(NULL); ++ client = imsettings_client_new(locale); + if (!client) { + g_printerr(_("Unable to create a client instance.\n")); + retval = 1; diff --git a/SPECS/imsettings.spec b/SPECS/imsettings.spec index 27a2e72..33b95b4 100644 --- a/SPECS/imsettings.spec +++ b/SPECS/imsettings.spec @@ -1,6 +1,6 @@ Name: imsettings Version: 1.6.3 -Release: 1%{?dist} +Release: 9%{?dist} License: LGPLv2+ URL: https://tagoh.bitbucket.org/%{name}/ BuildRequires: desktop-file-utils @@ -19,6 +19,9 @@ Patch0: %{name}-constraint-of-language.patch Patch1: %{name}-disable-xim.patch ## Fedora specific: Enable xcompose for certain languages Patch2: %{name}-xinput-xcompose.patch +Patch3: %{name}-fix-memleak-and-crash.patch +Patch4: %{name}-1.6.3-translations-update.patch +Patch5: %{name}-imsettings-reload-locale.patch Summary: Delivery framework for general Input Method configuration Group: Applications/System @@ -173,6 +176,9 @@ This package contains a module to get this working on MATE. %patch0 -p1 -b .0-lang %patch1 -p1 -b .1-xim %patch2 -p1 -b .2-xcompose +%patch3 -p1 -b .3-memleak-crash +%patch4 -p2 -b .4-trans +%patch5 -p1 -b .5-reload %build %configure \ @@ -194,6 +200,7 @@ chmod 0755 $RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinitrc.d/50-xinput.sh # clean up the unnecessary files rm -f $RPM_BUILD_ROOT%{_libdir}/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/imsettings/*.la +rm -f $RPM_BUILD_ROOT%{_libdir}/imsettings/libimsettings-{gconf,mateconf}.so %if 0%{?rhel} rm -f $RPM_BUILD_ROOT%{_libdir}/imsettings/libimsettings-{lxde,xfce,mate-gsettings}.so %endif @@ -285,6 +292,27 @@ fi %changelog +* Fri Jan 24 2014 Daniel Mach - 1.6.3-9 +- Mass rebuild 2014-01-24 + +* Wed Jan 22 2014 Akira TAGOH - 1.6.3-8 +- Fix untranslated strings in imsettings-reload (#1054602) + +* Wed Jan 8 2014 Akira TAGOH - 1.6.3-6 +- Remove the possibly unnecessary unpackaged files at the build time (#1046496) + +* Tue Jan 7 2014 Akira TAGOH - 1.6.3-5 +- Update translations again (#1030360) + +* Fri Dec 27 2013 Daniel Mach - 1.6.3-4 +- Mass rebuild 2013-12-27 + +* Fri Dec 13 2013 Akira TAGOH - 1.6.3-3 +- Update translations (#1030360) + +* Tue Dec 3 2013 Akira TAGOH - 1.6.3-2 +- Fix the memory leaks and crash (#1018199) + * Tue Jun 11 2013 Akira TAGOH - 1.6.3-1 - New upstream release. - Remove BR: docbook2X.