Compare commits

..
4 Commits
Author SHA1 Message Date
deepend-tildeclub 314171b2b1 Merge pull request #367 from ZoiteChat/release/2.19
WIN32: fix installer theme download URL.
2026-08-16 01:38:36 -06:00
deepend-tildeclub 32b6de0c3a Merge pull request #366 from ZoiteChat/release/2.19-flatpak-error-startup
fix startup error on flatpak
2026-08-15 12:38:30 -06:00
deepend-tildeclub 7e22e7b67d Merge pull request #365 from ZoiteChat/release/2.19
Release/2.19
2026-08-15 12:37:35 -06:00
deepend 36f0d7450c fix startup error on flatpak 2026-08-15 12:20:18 -06:00
8 changed files with 28 additions and 52 deletions
+1 -1
View File
@@ -1 +1 @@
2.19.1
2.19.0
+1 -1
View File
@@ -2,7 +2,6 @@ appdir = join_paths(get_option('datadir'), 'applications')
metainfodir = join_paths(get_option('datadir'), 'metainfo')
mimedir = join_paths(get_option('datadir'), 'mime', 'packages')
desktop_utils = find_program('desktop-file-validate', required: false)
appstreamcli = find_program('appstreamcli', required: false)
if get_option('gtk-frontend')
if get_option('install-appdata')
@@ -14,6 +13,7 @@ if get_option('gtk-frontend')
install_dir: metainfodir
)
appstreamcli = find_program('appstreamcli', required: false)
if appstreamcli.found()
test('Validate net.zoite.Zoitechat.appdata.xml', appstreamcli,
args: ['validate', zoitechat_appdata]
+1 -1
View File
@@ -1,6 +1,6 @@
project('zoitechat', 'c',
version: run_command('cat', 'VERSION', check: true).stdout().strip(),
meson_version: '>= 0.59.0',
meson_version: '>= 0.55.0',
default_options: [
'c_std=c17',
'buildtype=debugoptimized',
+1 -15
View File
@@ -126,21 +126,7 @@ ctcp_handle (session *sess, char *to, char *nick, char *ip,
if (ctcp_check (sess, nick, word, word_eol, word[4] + ctcp_offset))
goto generic;
{
gboolean private_fromme = !serv->p_cmp (nick, serv->nick) && !is_channel (serv, to);
if (private_fromme)
{
session *target = find_dialog (serv, to);
if (target)
sess = target;
else if (serv->front_session)
sess = serv->front_session;
}
inbound_action (sess, to, nick, ip, msg + 7, private_fromme, tags_data->identified, tags_data);
}
inbound_action (sess, to, nick, ip, msg + 7, FALSE, tags_data->identified, tags_data);
return;
}
+2 -4
View File
@@ -858,10 +858,8 @@ path_depth_from_root (const char *base, const char *path)
static gint
theme_root_candidate_compare (gconstpointer a, gconstpointer b)
{
/* g_ptr_array_sort() passes pointers to the array slots, not the values
* stored in those slots. Dereference once before comparing candidates. */
const ThemeRootCandidate *ca = *(ThemeRootCandidate * const *) a;
const ThemeRootCandidate *cb = *(ThemeRootCandidate * const *) b;
const ThemeRootCandidate *ca = a;
const ThemeRootCandidate *cb = b;
if (ca->has_index_theme != cb->has_index_theme)
return ca->has_index_theme ? -1 : 1;
if (ca->depth != cb->depth)
+1 -1
View File
@@ -1368,7 +1368,7 @@ process_named_msg (session *sess, char *type, char *word[], char *word_eol[],
{
if (ignore_check (word[1], IG_PRIV))
return;
if (!serv->p_cmp (nick, serv->nick))
if (serv->have_echo_message && !serv->p_cmp (nick, serv->nick))
{
session *target_sess = find_dialog (serv, to);
+2 -1
View File
@@ -463,7 +463,8 @@ doover:
while (list)
{
sess = list->data;
sess->done_away_check = FALSE;
if (!sess->server->have_awaynotify)
sess->done_away_check = FALSE;
list = list->next;
}
loop++;
+19 -28
View File
@@ -301,35 +301,26 @@ cv_tree_focus (chan *ch)
path = gtk_tree_model_get_path (model, &ch->iter);
if (path)
{
if (!gtk_widget_get_realized (GTK_WIDGET (tree)))
/* This full section does what
* gtk_tree_view_scroll_to_cell (tree, path, NULL, TRUE, 0.5, 0.5);
* does, except it only scrolls the window if the provided cell is
* not visible. Basic algorithm taken from gtktreeview.c */
/* obtain information to see if the cell is visible */
gtk_tree_view_get_background_area (tree, path, NULL, &cell_rect);
gtk_tree_view_get_visible_rect (tree, &vis_rect);
/* The cordinates aren't offset correctly */
gtk_tree_view_convert_widget_to_bin_window_coords ( tree, cell_rect.x, cell_rect.y, NULL, &cell_rect.y );
/* only need to scroll if out of bounds */
if (cell_rect.y < vis_rect.y ||
cell_rect.y + cell_rect.height > vis_rect.y + vis_rect.height)
{
/* Layout changes can restore focus before the new tree is realized.
* Let GTK track the row and scroll once its geometry is available. */
gtk_tree_view_scroll_to_cell (tree, path, NULL, TRUE, 0.5, 0.5);
}
else
{
/* This full section does what
* gtk_tree_view_scroll_to_cell (tree, path, NULL, TRUE, 0.5, 0.5);
* does, except it only scrolls the window if the provided cell is
* not visible. Basic algorithm taken from gtktreeview.c */
/* obtain information to see if the cell is visible */
gtk_tree_view_get_background_area (tree, path, NULL, &cell_rect);
gtk_tree_view_get_visible_rect (tree, &vis_rect);
/* The cordinates aren't offset correctly */
gtk_tree_view_convert_widget_to_bin_window_coords ( tree, cell_rect.x, cell_rect.y, NULL, &cell_rect.y );
/* only need to scroll if out of bounds */
if (cell_rect.y < vis_rect.y ||
cell_rect.y + cell_rect.height > vis_rect.y + vis_rect.height)
{
dest_y = cell_rect.y - ((vis_rect.height - cell_rect.height) * 0.5);
if (dest_y < 0)
dest_y = 0;
gtk_tree_view_scroll_to_point (tree, -1, dest_y);
}
dest_y = cell_rect.y - ((vis_rect.height - cell_rect.height) * 0.5);
if (dest_y < 0)
dest_y = 0;
gtk_tree_view_scroll_to_point (tree, -1, dest_y);
}
/* theft done, now make it focused like */
gtk_tree_view_set_cursor (tree, path, NULL, FALSE);