找回密码
 注册
搜索
查看: 1774|回复: 2

[讨论] 展讯6800平台MMK问题(版本:MOCOR_10A.W11.09_P4_PDA_1.0)

[复制链接]
发表于 2012-1-3 16:35:13 | 显示全部楼层 |阅读模式
最近做展讯6800,发现MMK存在几个问题,邮件问展讯同事,展讯答复说没问题。但我还是觉得有问题,所以发到论坛来,请各位大侠帮忙分析。

问题一:

        文件:mmk_msg.c
        函数:MMK_DispMsgToWin()
        问题:该函数的返回值有问题,会造成后续对msg_id的错误处理

        BOOLEAN  MMK_DispMsgToWin(
                                MMI_MESSAGE_ID_E    msg_id,     //the identify of message
                                DPARAM              param_ptr   //the param of the message
                                )
        {
                BOOLEAN                result = FALSE;                //本人认为默认返回应该是TRUE[/COLOR]
                MMI_HANDLE_T        win_handle = MMK_GetFocusParentWinHandle();

                if (MMK_GetWinDisplayStyleState( win_handle, WS_DISPATCH_TO_CHILDWIN ))
                {
                        if (!MMK_DispMsgToFocusWin( msg_id, param_ptr ) )        //如果这里已处理[/COLOR]
                        {
                                result = DispMsgToFocusParentWin( msg_id, param_ptr );        //result得不到重新赋值[/COLOR]
                        }
                }
                else
                {
                        if (!DispMsgToFocusParentWin( msg_id, param_ptr ) )        //如果这里已处理[/COLOR]
                        {
                                result = MMK_DispMsgToFocusWin( msg_id, param_ptr );        //result得不到重新赋值[/COLOR]
                        }
                }

                return result;
        }

        分析:对于子窗口优先处理的情况(即代码上部份),如果MMK_DispMsgToFocusWin()返回TRUE,表示msg_id已被处理,不需要后续处理,就不会再调用DispMsgToFocusParentWin()继续处理。但此时整个函数MMK_DispMsgToWin()的返回值仍然是FALSE,上一级函数,如HandleMSGKbd()会认为该消息还没处理,会继续丢给下一个流程处理,如按键消息会走到MMK_HandlePublicKey()中。
        问题实例:实现在待机屏上按HOME键进主菜单,在其它界面仍然是回到待机屏。本来在待机屏消息处理函数中加一个case MSG_APP_HOME: EntryMainmenu();break;就解决了。但现在的问题是:虽然待机屏执行了MSG_APP_HOME,进入了主菜单,但由于MMK_DispMsgToWin()返回的是FALSE,按键消息还会调用MMK_HandlePublicKey()处理,于MMK_ReturnIdleWin()了。
发表于 2012-4-7 09:53:35 | 显示全部楼层
实现在待机屏上按HOME键进主菜单 可以不用消息机制的
点评回复

使用道具 举报

发表于 2012-4-4 18:48:41 | 显示全部楼层
研究地好!!!


[此贴子已经被作者于2012-4-4 20:05:14编辑过]
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-23 11:35 , Processed in 0.058864 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表