Quoting "Carlos R. Mafra" <crma...@gmail.com>:

On Sun, 14 Apr 2013 at 23:13:28 +0200, Rodolfo García Peñas (kix) wrote:
From: "Rodolfo García Peñas (kix)" <k...@kix.es>

The screen has a list of applications:

----------------8<----------------
kix@debian:~/src/wmaker/wmaker-crm/src$ grep wapp_list screen.h
    struct WApplication *wapp_list;    /* list of all aplications */
kix@debian:~/src/wmaker/wmaker-crm/src$
----------------8<----------------

But this variable was not set before this patch:
- Was removed in application.c
- Local variable in session.c

----------------8<----------------
kix@debian:~/src/wmaker/wmaker-crm/src$ grep wapp_list *.c
application.c:  if (wapp == scr->wapp_list) {
application.c:          scr->wapp_list = wapp->next;
session.c:      WMArray *wapp_list = NULL;
session.c:      wapp_list = WMCreateArray(16);
session.c:        && (WMGetFirstInArray(wapp_list, (void *)appId)
== WANotFound
session.c:               WMAddToArray(wapp_list, (void *)appId);
session.c:      WMFreeArray(wapp_list);
kix@debian:~/src/wmaker/wmaker-crm/src$
----------------8<----------------

This variable is needed to restore the screen without re-create the
applications structs.
---
 src/application.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/application.c b/src/application.c
index abe1d2d..6a03775 100644
--- a/src/application.c
+++ b/src/application.c
@@ -143,6 +143,10 @@ WApplication *wApplicationCreate(WWindow * wwin)

        create_appicon_for_application(wapp, wwin);

+       /* Save the application in the application list */
+       wapp->next = scr->wapp_list;
+       scr->wapp_list = wapp;


If wapp_list was not set before then wapp->next will contain junk
at this point, no?

Yes. Good point. We should initialize the wapp_list when wmaker starts.

This list is needed to re-position the windows, for example with
XRandR screen change.

We have a different list for appicons. See src->app_icon_list. Is the
same idea.

With XRandR, we should follow the app_icon_list to re-position the
appicons and then paint it (move them). And we should follow the
wapp_list to to the same with the windows.

I didn't found where the app_icon_list is initialized.

Cheers,
kix


Rodolfo García Peñas (kix)
http://www.kix.es/


--
To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.

Reply via email to