From 947cfed5dc5015c5a107ad2ce74c4e1122d07d04 Mon Sep 17 00:00:00 2001 From: zhangkun Date: Thu, 25 Dec 2025 15:02:58 +0800 Subject: [PATCH] fix: initialize GDK in accounts module and remove GTK init MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Added GDK initialization in accounts module to ensure proper image handling functionality 2. Removed GTK initialization from session daemon main function to reduce unnecessary dependencies 3. Updated CGO pkg-config to remove gtk+-3.0 dependency from session daemon 4. Added error handling for GDK initialization failure with warning log Log: Fixed potential image processing issues in user account management Influence: 1. Test user account avatar loading and display 2. Verify user account creation and management functionality 3. Test session startup without GTK dependency 4. Check for any image-related errors in system logs 5. Verify backward compatibility with existing user accounts 6. Test system performance impact after removing GTK initialization fix: 在账户模块中初始化GDK并移除GTK初始化 1. 在账户模块中添加GDK初始化以确保正确的图像处理功能 2. 从会话守护进程主函数中移除GTK初始化以减少不必要的依赖 3. 更新CGO pkg-config配置,从会话守护进程中移除gtk+-3.0依赖 4. 添加GDK初始化失败的错误处理并记录警告日志 Log: 修复了用户账户管理中潜在的图像处理问题 Influence: 1. 测试用户账户头像加载和显示功能 2. 验证用户账户创建和管理功能 3. 测试无GTK依赖的会话启动 4. 检查系统日志中是否有图像相关的错误 5. 验证与现有用户账户的向后兼容性 6. 测试移除GTK初始化后的系统性能影响 PMS: BUG-316783 --- accounts1/accounts.go | 5 +++++ bin/dde-session-daemon/main.go | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/accounts1/accounts.go b/accounts1/accounts.go index ebe80d4b9..85f44fd40 100644 --- a/accounts1/accounts.go +++ b/accounts1/accounts.go @@ -7,6 +7,7 @@ package accounts import ( "github.com/linuxdeepin/dde-daemon/accounts1/logined" "github.com/linuxdeepin/dde-daemon/loader" + "github.com/linuxdeepin/go-lib/gdkpixbuf" "github.com/linuxdeepin/go-lib/log" ) @@ -23,6 +24,10 @@ func getAccountsManager() *Manager { } func init() { + err := gdkpixbuf.InitGdk() + if err != nil { + logger.Warning("Failed to initialize GDK:", err) + } loader.Register(NewDaemon()) } diff --git a/bin/dde-session-daemon/main.go b/bin/dde-session-daemon/main.go index 7d1ae8b7a..c14c58ef0 100755 --- a/bin/dde-session-daemon/main.go +++ b/bin/dde-session-daemon/main.go @@ -4,11 +4,10 @@ package main -//#cgo pkg-config: x11 gtk+-3.0 +//#cgo pkg-config: x11 //#cgo CFLAGS: -W -Wall -fstack-protector-all -fPIC //#include -//#include -//void init(){XInitThreads();gtk_init(0,0);} +//void init(){XInitThreads();} import "C" import ( "bufio"