Bug 13231 - using yscrollcommand in tkcanvas crashes R
Summary: using yscrollcommand in tkcanvas crashes R
Status: NEW
Alias: None
Product: R
Classification: Unclassified
Component: Misc (show other bugs)
Version: old
Hardware: ix86 (32-bit) Windows 32-bit
: P5 normal
Assignee: Jitterbug compatibility account
URL:
Depends on:
Blocks:
 
Reported: 2008-10-30 10:05 UTC by Jitterbug compatibility account
Modified: 2008-10-30 21:30 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jitterbug compatibility account 2008-10-30 10:05:10 UTC
From: sundar.dorai-raj@pdf.com
Full_Name: Sundar Dorai-Raj
Version: 2.8.0
OS: Windows
Submission from: (NULL) (76.220.41.126)


The following code crashes R:

library(tcltk)
tt <- tktoplevel()
tc <- tkcanvas(tt, yscrollcommand = function(...) tkset(ts, ...))

> sessionInfo()
R version 2.8.0 (2008-10-20) 
i386-pc-mingw32 

locale:
LC_COLLATE=English_United States.1252;LC_CTYPE=English_United
States.1252;LC_MONETARY=English_United
States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252

attached base packages:
[1] tcltk     stats     graphics  grDevices utils     datasets  methods  
[8] base

Comment 1 Jitterbug compatibility account 2008-10-30 20:38:37 UTC
From: Greg Snow <Greg.Snow@imail.org>
I don't know if this is the case here or not, but putting in scrollbars and scrolling can be a bit tricky.  It usually works best to create the canvas without a scroll command, then create the scrollbar(s), then use tkconfig to go back and add the scroll command to the canvas after the scrollbar has been created and placed.

Hope this helps,

--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
greg.snow@imail.org
801.408.8111


> -----Original Message-----
> From: r-devel-bounces@r-project.org [mailto:r-devel-bounces@r-
> project.org] On Behalf Of sundar.dorai-raj@pdf.com
> Sent: Wednesday, October 29, 2008 11:10 PM
> To: r-devel@stat.math.ethz.ch
> Cc: R-bugs@r-project.org
> Subject: [Rd] using yscrollcommand in tkcanvas crashes R (PR#13231)
>
> Full_Name: Sundar Dorai-Raj
> Version: 2.8.0
> OS: Windows
> Submission from: (NULL) (76.220.41.126)
>
>
> The following code crashes R:
>
> library(tcltk)
> tt <- tktoplevel()
> tc <- tkcanvas(tt, yscrollcommand = function(...) tkset(ts, ...))
>
> > sessionInfo()
> R version 2.8.0 (2008-10-20)
> i386-pc-mingw32
>
> locale:
> LC_COLLATE=English_United States.1252;LC_CTYPE=English_United
> States.1252;LC_MONETARY=English_United
> States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252
>
> attached base packages:
> [1] tcltk     stats     graphics  grDevices utils     datasets  methods
> [8] base
>
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

Comment 2 Jitterbug compatibility account 2008-10-30 21:30:38 UTC
From: Sundar Dorai-Raj <sundar.dorai-raj@pdf.com>
Hi, Greg,

Thanks again for your comments. I got it to work with your suggestion:

library(tcltk)
tt <- tktoplevel()
ts <- ttkscrollbar(tt)
tc <- tkcanvas(tt)
tkconfigure(ts, command = function(...) tkyview(tc, ...))
tkconfigure(tc, yscrollcommand = function(...) tkset(ts, ...))
tkpack(tc, side = "left")
tkpack(ts, side = "right", fill = "y")

I think the bug should remain open though, because crashing R is never a 
good thing. But for now, it's not on my critical path.

Thanks,

--sundar

Greg.Snow@imail.org said the following on 10/30/2008 8:40 AM:
> I don't know if this is the case here or not, but putting in scrollbars and=
>  scrolling can be a bit tricky.  It usually works best to create the canvas=
>  without a scroll command, then create the scrollbar(s), then use tkconfig =
> to go back and add the scroll command to the canvas after the scrollbar has=
>  been created and placed.
> 
> Hope this helps,
> 
> --
> Gregory (Greg) L. Snow Ph.D.
> Statistical Data Center
> Intermountain Healthcare
> greg.snow@imail.org
> 801.408.8111
> 
> 
>> -----Original Message-----
>> From: r-devel-bounces@r-project.org [mailto:r-devel-bounces@r-
>> project.org] On Behalf Of sundar.dorai-raj@pdf.com
>> Sent: Wednesday, October 29, 2008 11:10 PM
>> To: r-devel@stat.math.ethz.ch
>> Cc: R-bugs@r-project.org
>> Subject: [Rd] using yscrollcommand in tkcanvas crashes R (PR#13231)
>>
>> Full_Name: Sundar Dorai-Raj
>> Version: 2.8.0
>> OS: Windows
>> Submission from: (NULL) (76.220.41.126)
>>
>>
>> The following code crashes R:
>>
>> library(tcltk)
>> tt <- tktoplevel()
>> tc <- tkcanvas(tt, yscrollcommand =3D function(...) tkset(ts, ...))
>>
>>> sessionInfo()
>> R version 2.8.0 (2008-10-20)
>> i386-pc-mingw32
>>
>> locale:
>> LC_COLLATE=3DEnglish_United States.1252;LC_CTYPE=3DEnglish_United
>> States.1252;LC_MONETARY=3DEnglish_United
>> States.1252;LC_NUMERIC=3DC;LC_TIME=3DEnglish_United States.1252
>>
>> attached base packages:
>> [1] tcltk     stats     graphics  grDevices utils     datasets  methods
>> [8] base
>>
>> ______________________________________________
>> R-devel@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
> 
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel