[分享]wine运行新版通达信的补丁

Wine、Cedega、CrossOver 等配置
回复
wh0608
帖子: 28
注册时间: 2006-12-04 3:26
送出感谢: 0
接收感谢: 0

[分享]wine运行新版通达信的补丁

#1

帖子 wh0608 » 2007-09-24 10:13

修改的部分
wine/dlls/winex11.drv/dib.c
wine/dlls/gdi32/tests/bitmap.c
多谢deepdream的提示
http://www.winehq.org/pipermail/wine-de ... 46558.html

打补丁
p a tc h - p 1 < tdx.patch
编译 安装
附件
tdx.tar.gz
这是9.47含有中文按钮补丁,9.48也可以用。
解压后 复制到/usr/lib/wine/下
(414.7 KiB) 下载 104 次
11.jpeg
上次由 wh0608 在 2007-11-01 14:52,总共编辑 6 次。
头像
windwiny
帖子: 2254
注册时间: 2007-03-13 17:26
送出感谢: 0
接收感谢: 1 次

#2

帖子 windwiny » 2007-09-24 10:40

:D
头像
newman0708
帖子: 188
注册时间: 2007-09-22 13:09
送出感谢: 0
接收感谢: 0
联系:

厉害的,

#3

帖子 newman0708 » 2007-09-24 12:17

灵的,呵呵,这个也行
头像
ct
帖子: 2201
注册时间: 2005-04-06 21:15
来自: 安徽黄山
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 ct » 2007-09-24 12:35

乱码再打一个中文按钮的补丁看看.
wh0608
帖子: 28
注册时间: 2006-12-04 3:26
送出感谢: 0
接收感谢: 0

#5

帖子 wh0608 » 2007-09-24 14:49

ct 写了:乱码再打一个中文按钮的补丁看看.

太耗时间了又搞了一次,打了中文按钮的补丁 问题解决 :lol:
就是“键盘精灵” 不灵
deepdream
帖子: 38
注册时间: 2005-07-01 23:15
送出感谢: 0
接收感谢: 0

#6

帖子 deepdream » 2007-09-24 18:03

bitmap.c这个也要改下,
刚在9.45下把补丁又整一下,方便大家
http://forum.ubuntu.org.cn/viewtopic.ph ... 068#444068

键盘精灵的问题也有所进展
大家再想想办法,离完美的tdx不远了
deepdream
帖子: 38
注册时间: 2005-07-01 23:15
送出感谢: 0
接收感谢: 0

#7

帖子 deepdream » 2007-09-24 18:09

键盘精灵的问题还有一歪招
就是快速连续地连按几个0或6,这几个都能上去
然后用退格键改成你想要的
:)
头像
ct
帖子: 2201
注册时间: 2005-04-06 21:15
来自: 安徽黄山
送出感谢: 0
接收感谢: 0
联系:

#8

帖子 ct » 2007-10-05 20:59

我的键盘精灵是可以用的,不过输头两个要慢点,不然先后就反了.
我的输入法是fcitx
wh0608
帖子: 28
注册时间: 2006-12-04 3:26
送出感谢: 0
接收感谢: 0

#9

帖子 wh0608 » 2007-10-07 13:45

我用的是64位系统 wine9.46用这个补丁打不上了。
不过用这个还可以
http://www.winehq.org/pipermail/wine-pa ... 36060.html

--- a/dlls/winex11.drv/dib.c
+++ b/dlls/winex11.drv/dib.c
@@ -3861,6 +3861,7 @@ INT X11DRV_SetDIBits( X11DRV_PDEVICE *ph
X11DRV_DIB_IMAGEBITS_DESCR descr;
BITMAP bitmap;
LONG width, height, tmpheight;
+ int nrsrcbytes, dibpitch;
INT result;

descr.physDev = physDev;
@@ -3880,6 +3881,16 @@ INT X11DRV_SetDIBits( X11DRV_PDEVICE *ph

if (startscan + lines > height) lines = height - startscan;

+ /* pointer check */
+ dibpitch = ((width * descr.infoBpp + 31) &~31) / 8;
+ if( descr.compression)
+ nrsrcbytes = 1;
+ else {
+ nrsrcbytes = lines * dibpitch;
+ if( nrsrcbytes < 0) nrsrcbytes = - nrsrcbytes;
+ }
+ if( IsBadReadPtr( bits, nrsrcbytes)) return 0;
+
switch (descr.infoBpp)
{
case 1:
@@ -3926,7 +3937,7 @@ INT X11DRV_SetDIBits( X11DRV_PDEVICE *ph
descr.width = bitmap.bmWidth;
descr.height = lines;
descr.useShm = FALSE;
- descr.dibpitch = ((descr.infoWidth * descr.infoBpp + 31) &~31) / 8;
+ descr.dibpitch = dibpitch;
X11DRV_DIB_Lock( physBitmap, DIB_Status_GdiMod, FALSE );
result = X11DRV_DIB_SetImageBits( &descr );
X11DRV_DIB_Unlock( physBitmap, TRUE );
上次由 wh0608 在 2007-11-01 14:42,总共编辑 2 次。
头像
hairui
帖子: 27
注册时间: 2007-10-08 20:22
送出感谢: 0
接收感谢: 0

#10

帖子 hairui » 2007-10-10 17:43

哪位大侠能够发个从安装到运行通达信,以及配置wine的教程啊
我看这楼上的都有这个能力,多谢了!
zty
帖子: 14
注册时间: 2008-01-13 19:54
送出感谢: 0
接收感谢: 0

#11

帖子 zty » 2008-02-15 9:33

我试了一下,对话框的中文显示正常了,但是股票行情况无法显示,鼠标不能用呀。
我用的是wine 0.9.46,股票软件是国信证券金色阳光版。
回复

回到 “Wine及其分支”