commit | 55d2473091d51af06b133b6ce46aafda9ec84fb1 | [log] [tgz] |
---|---|---|
author | Hugo Lefeuvre <hugo.lefeuvre@savoirfairelinux.com> | Thu Sep 13 14:20:10 2018 -0400 |
committer | Sébastien Blin <sebastien.blin@savoirfairelinux.com> | Fri Sep 14 16:04:49 2018 -0400 |
tree | 6d1edd09b85cc9cfdbea819f64335979a13846f8 | |
parent | 8df7e775d75f8dcf022640ace60f524f55c8ce0f [diff] |
fix memory leaks, hazardous frees and misc issues accountgeneraltab: + remove useless <iostream> import accountmigrationview: + remove useless <iostream> import + add missing <memory> import currentcallview: + remove useless <iostream> import + add missing <memory> and <string> import + use g_debug instead of std::cout (not the standard debug output) ringmainwindow: + fix multiple memory leaks in print_account_and_state(), on_clear_all_history_foreach() and changeAccountSelection() + fix use of deprecated method gtk_entry_set_icon_from_stock() + use G_GNUC_UNUSED to remove unused parameter warnings + remove various unused variables + remove unused function on_save_accounts_timeout() + fix multiple places where char* was passed to printf-style function with %i formatter ringwelcomeview: + fix multiple memory leaks in ring_welcome_update_view() and render_account_avatar() + return FALSE in case of failure in draw_qrcode() webkitchatcontainer: + webkit_chat_container_execute_js should take const char*, not char* + return true in case of success in webview_chat_context_menu() usernameregistrationbox: + make "Enter the password of your Ring account" string translatable ring_client: + fix multiple memory leaks in ring_client_open() ring_notify: + improve ring_hide_notification() return values + fix multiple potential hazardous free() calls video_widget: + fix leak in case of error in video_widget_on_drag_data_received() + fix hazardous free() call in switch_video_input_file() (uri might be NULL even if the answer of the dialog is GTK_RESPONSE_ACCEPT) Change-Id: I7db8b63ba1b8ad272d464d0739b2fe24cc18c0b4 Gitlab: #917 Gitlab: #821 Reviewed-by: Sebastien Blin <sebastien.blin@savoirfairelinux.com>
Ring-client-gnome is a Ring client written in GTK+3. It uses libRingClient to communicate with the Ring daemon and for all of the underlying models and their logic. Ideally ring-client-gnome should only contain UI related code and any wrappers necessary for interacting with libRingClient.
Packages for Debian/Ubuntu/Fedora can be found at https://ring.cx
More info about the Ring project and the clients can be found on our Gitlab's instance: https://git.ring.cx/
GNU Ring welcomes contribution from everyone. See CONTRIBUTING.md for help getting started.
On Debian/Ubuntu these can be installed by:
sudo apt-get install g++ cmake libgtk-3-dev qtbase5-dev libclutter-gtk-1.0-dev gnome-icon-theme-symbolic libebook1.2-dev libnotify-dev gettext
On Fedora:
sudo dnf install gcc-c++ cmake gtk3-devel qt5-qtbase-devel clutter-gtk-devel gnome-icon-theme-symbolic evolution-data-server-devel libnotify-devel gettext
The build instructions for the daemon and libRingClient can be found in their respective repositories. See Gerrit:
In the project root dir:
mkdir build cd build cmake .. make
You can then simply run ./gnome-ring
from the build directory
If you're building the client for use (rather than testing of packaging), it is recommended that you install it on your system, eg: in /usr
, /usr/local
, or /opt
, depending on your distro's preference to get full functionality such as desktop integration. In this case you should perform a 'make install' after building the client.
It is possible to build ring-client-gnome without installing the daemon and libRingClient on your system (eg: in /usr
or /usr/local
):
-DRING_BUILD_DIR=/home/user/ring/daemon/src
-DCMAKE_INSTALL_PREFIX=/home/user/ringinstall
-DLibRingClient_DIR=/home/user/ringinstall/lib/cmake/LibRingClient
For now, the build type of the client is "Debug" by default, however it is useful to also have the debug symbols of libRingClient. To do this, specify this when compiling libRingClient with -DCMAKE_BUILD_TYPE=Debug
in the cmake options.